Dean Herbert
667cdb2475
Fix skin lookup when there's no beatmap file available
2022-01-12 17:00:16 +09:00
Dean Herbert
4763fe54d6
Remove unused store classes
2022-01-12 16:39:36 +09:00
Dean Herbert
3cd996eb4a
Merge branch 'master' into async-deadlock-safety
2022-01-07 17:28:59 +09:00
Dean Herbert
00177a3ae1
Update usages to new naming
2022-01-06 22:54:43 +09:00
Dean Herbert
243a1a3cf7
Fix incorrect origin specification for `SkinSelectionHandler` flips
2022-01-06 14:47:44 +09:00
Dean Herbert
866ae3472b
Add global flip hotkeys
2022-01-05 16:48:07 +09:00
Dean Herbert
73b40e6833
Replace usage of `.Result` with `.WaitSafelyForResult`
2022-01-04 11:51:41 +09:00
Dean Herbert
089b756f93
Invert logic to make reading easier
2021-12-30 16:03:16 +09:00
Dean Herbert
ef49f2ed0e
Add extra extra safety against attempting to load a previously expired editor
2021-12-30 16:02:31 +09:00
Dean Herbert
b1a444180f
Fix `Show` then `Reset` potentially resulting in incorrect load target
2021-12-29 21:46:34 +09:00
Dean Herbert
471eea750a
Fix calling `SkinEditorOverlay.Show` before the overlay is loaded causing an exception
...
As seen at https://github.com/ppy/osu/runs/4652969942?check_suite_focus=true .
2021-12-29 21:18:17 +09:00
Bartłomiej Dach
724b601d2a
Rename `AllowSampleLookup` argument to something saner
2021-12-26 14:29:07 +01:00
Bartłomiej Dach
dc21c8901e
Always allow looking up storyboard samples from beatmap skin
2021-12-26 14:25:28 +01:00
Dean Herbert
9d85beddbe
Fix null reference in some tests due to missing realm context factory
2021-12-15 11:16:37 +09:00
Dean Herbert
441b7baa93
Provide a realm factory to usages of `ToLive`/`RealmLive`
2021-12-14 14:26:34 +09:00
Dean Herbert
8d9c37a825
Merge branch 'master' into primary-key-consistency
2021-12-08 21:34:38 +09:00
Dan Balasescu
7ef960839b
Merge pull request #15898 from peppy/skin-export-instntiation-info
...
Serialise and deserialise `SkinInfo.InstantiationInfo` to allow for more correct imports
2021-12-06 22:08:20 +09:00
Dean Herbert
07abcf04b4
Merge branch 'master' into realm-integration/skins-filename-lookup-performance
2021-12-06 17:13:33 +09:00
Dean Herbert
68b482fc48
Merge branch 'master' into skin-export-instntiation-info
2021-12-06 17:12:42 +09:00
Dean Herbert
452fa93444
Merge branch 'master' into realm-integration/skins-rebase
2021-12-06 15:21:02 +09:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
e4b296e16e
Use `OptIn` serialisation on `SkinInfo` to avoid writing unnecessary information
2021-12-03 16:36:27 +09:00
Dean Herbert
cdf2fa9930
Serialise and deserialise `SkinInfo.InstantiationInfo` to allow for more correct imports
...
Until now, skins were always imported using the `LegacySkin`
instantiation type. For cases where a user has edited the lazer or
classic default (via the new skin editor), which would result in
incorrect fallback paths after exporting and importing the edited skin.
2021-12-02 18:05:16 +09:00
Dean Herbert
0e82e9355b
Ensure skin is saved immediately after becoming mutable
...
Without doing this, the JSON content is not written to the file. A user
assumption is that as soon as a skin shows up in the skin list as
exportable, it should export correctly, so it makes sense that it should
be in a sane state even if the user has not made any changes in the skin
editor yet.
Going forward, we might move more of the json serialisation logic out,
and run for consistency as part of the import process. This seems like
the simplest way to guarantee things for now, though.
2021-12-02 17:42:17 +09:00
Dean Herbert
fe99d4e984
Standardise parameter naming across all file IO methods
2021-12-02 17:19:53 +09:00
Dean Herbert
505608ab12
Merge branch 'realm-integration/skins-rebase' into realm-integration/skins-filename-lookup-performance
2021-12-02 14:01:39 +09:00
Dean Herbert
0a14acfd83
Fix incorrect conditional on export/mutate feasability of skin
2021-12-02 13:41:58 +09:00
Dean Herbert
4f826589e5
Remove subscription logic for the time being
2021-12-02 12:20:07 +09:00
Dean Herbert
1cf1543866
Fix test failures due to attempting to subscribe to non-managed instances
2021-12-01 13:50:19 +09:00
Dean Herbert
9411b42d0a
Cache skin filename to path mapping to reduce realm lookups during gameplay skin changes
2021-12-01 02:27:41 +09:00
Dean Herbert
0efd565c8b
Remove forgotten using statement
2021-11-30 15:41:07 +09:00
Dean Herbert
6bf9327228
Add linking property on `SkinFileInfo` to allow EF to understand the link post-rename
2021-11-30 15:17:16 +09:00
Dean Herbert
0d18c83d75
Simplify deletion by adding always present conditionals to `Delete` method
2021-11-29 18:28:25 +09:00
Dean Herbert
f6a3709060
Store default skins to database
2021-11-29 18:28:25 +09:00
Dean Herbert
c629a7a36f
Fix random selection and avoid using legacy events for handling skin import/deletion
2021-11-29 18:28:25 +09:00
Dean Herbert
29d074bdb8
Implement missing behaviours required for skin file operations via `RealmArchiveModelManager`
2021-11-29 18:28:25 +09:00
Dean Herbert
e2d9a685d7
Update skin implementations to match new structures
2021-11-29 18:28:25 +09:00
Dean Herbert
6b55de2845
Use `ILive` for `Skin.SkinInfo`
2021-11-29 18:28:25 +09:00
Dean Herbert
23146d59d1
Use `ILive` for current skin
2021-11-29 18:28:25 +09:00
Dean Herbert
2a9c7c00c8
Update tests and file access code
2021-11-29 18:28:25 +09:00
Dean Herbert
3db5646fa8
Create Guid constants for system skins (and store skin choice to configuration as guid)
2021-11-29 18:28:25 +09:00
Dean Herbert
e283379f0e
Replace EF `SkinInfo` with realm implementation
2021-11-29 18:28:25 +09:00
Dean Herbert
0a961fd9d8
Replace usages of `IHasFiles` with `IHasRealmFiles`
2021-11-29 18:28:25 +09:00
Dean Herbert
94b10492be
Update legacy `SkinManager` to match new interface
2021-11-29 18:20:07 +09:00
Dean Herbert
cc1b91e4bd
Split out legacy model export logic into `LegacyModelExporter` classes
2021-11-25 16:41:12 +09:00
Dean Herbert
7488ccd5fe
Update all models to implement `IHasNamedFiles`
2021-11-25 16:41:12 +09:00
Dean Herbert
6cab7b877d
Move stable import handling into its own class
2021-11-25 15:36:58 +09:00
Dean Herbert
2bfc473689
Split out `SkinModelManager` from `SkinManager`
2021-11-25 15:14:43 +09:00
Dan Balasescu
016684b52d
Remove unreachable code
2021-11-24 20:29:47 +09:00
Dean Herbert
99a139dc98
Initialise all file lists at construction time (and remove setter)
2021-11-24 13:56:21 +09:00