Dean Herbert
5736b7d978
Fix cursors sent to osu-web being potentially string formatted in incorrect culture
...
Fixed as per solution at https://github.com/JamesNK/Newtonsoft.Json/issues/874 .
Note that due to the use of `JsonExtensionDataAttribute` it's not
feasible to change the actual specification to `JValue` in the
`Dictionary`.
In discussion with the osu-web team, it may be worthwhile to change the cursor
to a string format where parsing is not required at our end. We could already
do this in fact, but there are tests that rely on it being a `JToken` so the
switch to `JValue` seems like the easier path right now.
2022-01-04 17:20:46 +09:00
Dean Herbert
c9f6c5c673
Add MatchesOnlineID
implementation for IScoreInfo
2021-12-10 18:34:31 +09:00
Dean Herbert
416ee2447a
Move archive filename helper method to extension method
2021-11-25 16:35:54 +09:00
Dean Herbert
3946a39b65
Make BeatmapSet.Metadata
non-null
2021-11-24 15:03:34 +09:00
Dean Herbert
6fb2757739
Remove usage of Nuget.Packaging
extension methods for IList.AddRange
2021-11-23 15:02:02 +09:00
Dean Herbert
59e763467f
Move StoragePath
implementation to an extension method
2021-11-19 16:08:38 +09:00
Dean Herbert
66c307e0ee
Remove usage of key repeat helper method
2021-11-18 13:13:36 +09:00
Dean Herbert
2cbdac91ad
Add missing APIUser
comparison method
2021-11-16 12:44:20 +09:00
Dean Herbert
fbc46941fa
Add type safety to MatchesOnlineID
extension methods
2021-11-16 12:37:47 +09:00
Dean Herbert
18f73b985b
Make ModelExtensions
nullable enabled
2021-11-15 14:38:01 +09:00
Dean Herbert
a4c11e8813
Use extension method to compare online IDs
2021-11-15 14:34:50 +09:00
Dean Herbert
98dcf487da
Add fallback case for GetDisplayString
if called on a null reference
2021-11-12 16:02:51 +09:00
Bartłomiej Dach
5ec8288508
Add GetDisplayString()
extension to handle all model interface types globally
2021-11-09 13:53:07 +01:00
Bartłomiej Dach
baf9961934
Amend xmldoc of shake extension method
2021-09-14 22:50:45 +02:00
Dean Herbert
e17b800470
Move shake logic into extension method
2021-09-14 14:44:23 +09:00
Dean Herbert
7a44ddb36b
Update incorrect xmldoc
2021-07-31 16:48:45 +09:00
Dean Herbert
472c0137ec
Add new extension for formatting time durations
2021-07-31 16:45:53 +09:00
Dean Herbert
c751e087ca
Merge branch 'master' into skin-editor-closest-anchor
2021-06-18 18:54:07 +09:00
Bartłomiej Dach
cc5145a131
Fix languages with a sub-language part not working properly
2021-06-16 11:10:03 +02:00
Robin Avery
dc50ae40b9
Rename OverridesClosestAnchor
to UsesFixedAnchor
2021-06-08 08:28:42 -04:00
Robin Avery
133d72a8c0
Rename UsingClosestAnchor
...
It is now "OverridesClosestAnchor". The logic is inverted accordingly.
2021-06-07 00:14:36 -04:00
Robin Avery
f28916e30f
Remove all UsingClosestAnchor() extension logic
...
It is replaced with ISkinnableDrawable.UsingClosestAnchor.
2021-06-07 00:04:53 -04:00
Robin Avery
da1c38d5a9
Uninvert logic of SkinnableInfo.UsingClosestAnchor
...
Also rename "IsUsingClosestAnchor" to simply "UsingClosestAnchor".
2021-06-06 10:13:35 -04:00
Robin Avery
11b1b8c633
Add serialization support via SkinnableInfo
2021-06-06 07:18:08 -04:00
Robin Avery
c9f5808bf2
Move lookup logic to DrawableExtensions
...
This is now a global lookup to be shared by serialization and editor.
2021-06-06 06:58:21 -04:00
Bartłomiej Dach
43c73f9583
Mark access to exception if task faulted as safe
...
There are seemingly no C#-side compile-time guarantees that it is safe,
but if the task's state is `Faulted` (as is checked right before), the
exception cannot be null as per the documentation.
2021-05-15 00:09:34 +02:00
Dean Herbert
3b862798e9
Standardise naming of methods related to SkinnableInfo
2021-05-13 13:14:49 +09:00
Dean Herbert
8b9ac86d4b
Merge branch 'master' into skin-serialisation
2021-05-13 12:35:06 +09:00
Bartłomiej Dach
1b579dd838
Extract invariant instantiation info extension method
2021-05-12 23:23:51 +02:00
Dean Herbert
c94df672e5
Also serialise Origin
out
2021-05-11 18:39:14 +09:00
Dean Herbert
6a88b8888b
Add basic support for child serialisation
2021-05-11 18:39:14 +09:00
Dean Herbert
95a497e9df
Remove unused interface class for simplicity
2021-05-11 18:39:14 +09:00
Dean Herbert
95a8f21ab2
Add the concept of skinnable target containers and mark a basic one for HUD elements
2021-05-11 18:39:14 +09:00
Dean Herbert
b9ab9342fa
Setup basics to allow extracting serializable content from skinnable Drawable
s
2021-05-11 18:39:14 +09:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
Dean Herbert
8282f38eb7
Fix volume controls not supporting key repeat
2021-04-14 13:11:24 +09:00
Bartłomiej Dach
9ab1ad25eb
Merge branch 'master' into fix-leave-room-race-2
2021-01-30 13:41:04 +01:00
Dean Herbert
a61444690e
Remove all usage of CatchUnobservedExceptions
...
This should no longer be required with the recent framework side change
that stops a game from crashing on unobserved exceptions
(https://github.com/ppy/osu-framework/pull/4171 ).
2021-01-29 16:32:29 +09:00
Dean Herbert
a30aecbafe
Comment and add xmldoc
2021-01-27 20:01:21 +09:00
Dean Herbert
fcfb0d52c2
Proposal to use extension method instead of TaskChain class
2021-01-27 19:50:16 +09:00
smoogipoo
085115cba5
Make threading even more thread safe
2021-01-26 22:49:01 +09:00
Bartłomiej Dach
2d279350ad
Catch multiplayer client-related unobserved exceptions better
...
Silencing an exception from a task continuation requires accessing
`task.Exception` in any way, which was not done previously if
`logOnError` was false.
To resolve without having to worry whether the compiler will optimise
away a useless access or now, just always log, but switch the logging
level. The unimportant errors will be logged as debug and therefore
essentially silenced on release builds (but could still be potentially
useful in debugging).
2020-12-31 11:39:42 +01:00
Dean Herbert
0ddcab574f
Rename method to avoid weird code analysis rule
2020-12-23 17:14:58 +09:00
Dean Herbert
1864da00e6
Add extension method to handle cases of fire-and-forget async usage
2020-12-23 17:10:02 +09:00
Dean Herbert
1386c9fe66
Standardise time display formats across the editor
2020-09-30 12:45:43 +09:00
Dean Herbert
facde2c8e1
Remove unnecessary generic specification on cursor
2020-05-14 16:01:07 +09:00
「空白」
43450b5485
Resolve remaining InspectCode issues
...
> CI should now pass build test
2020-05-14 01:57:03 +09:00
「空白」
1ac9c7c15a
Add license header to WebRequestExtensions
2020-05-14 00:04:31 +09:00
「空白」
5962dedd35
Reimplement cursor as part of WebRequest extensions
...
> Added WebRequestExtensions
> Moved Cursor request logic from SearchBeatmapSetsRequest
2020-05-13 05:04:39 +09:00
smoogipoo
b1268a73f1
Add keybinding repeat extension method
2020-04-03 18:15:24 +09:00