Bartłomiej Dach
d65f08a048
Merge pull request #24427 from peppy/fix-skin-editor-crash-multi-spectator
...
Fix game crashing when entering skin editor in multiplayer spectator
2023-08-01 18:25:11 +02:00
Dean Herbert
72005bef7c
Fix skin editor crashing if the same component is provided twice
2023-07-31 15:10:58 +09:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler
a Component
2023-07-30 20:18:33 +02:00
Dean Herbert
5bd06832d0
Fix skin component toolbox not working correctly for ruleset matching
...
Until now, the only usage of ruleset layers was where there is both a
ruleset specific and non-ruleset-specific layer present. The matching
code was making assumptions about this.
As I tried to add a new playfield layer which breaks this assumption,
non-ruleset-specifc components were not being displayed in the toolbox.
This turned out to be due to a `target` of `null` being provided due to
the weird `getTarget` matching (that happened to *just* do what we
wanted previously due to the equals implementation, but only because
there was a container without the ruleset present in the available
targets).
I've changed this to be a more appropriate lookup method, where the
target for dependency sourcing is provided separately from the ruleset
filter.
2023-07-28 15:50:44 +09:00
Bartłomiej Dach
f8047d6ab6
Migrate skin element rotation handling to SelectionRotationHandler
2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class
2023-07-23 18:24:20 +02:00
Dean Herbert
cf3949c9e2
Fix double-click handling when cyclic selection is enabled
...
Removes the limitations of cyclic selection as a result.
2023-07-19 17:21:20 +09:00
Bartłomiej Dach
aea5eb37dc
Remove unused using directive
2023-06-22 20:24:44 +02:00
Dean Herbert
cb0f642ad7
Change skin editor flow to always save on toggle
...
This also moves the beatmap skin disable toggle to on toggle, in line
with review feedback.
I've decided to always apply the disable, not just on the `Player`
screen. It should be assumed that if a user is in the skin editor they
are never going to need access to this anyway.
2023-06-21 16:14:47 +09:00
Dean Herbert
366dd96875
Use bindable lease instead of reimplementing the same thing locally
2023-06-21 16:09:54 +09:00
Dean Herbert
d7b486e2ac
Disable beatmap skinning when entering the skin editor
2023-06-20 19:18:17 +09:00
Dean Herbert
adf9a596b5
Fix weird state when attempting to enter gameplay skin editor scene from multiplayer
...
Closes https://github.com/ppy/osu/issues/23626 .
2023-05-23 17:58:44 +09:00
Bartłomiej Dach
1d4d31e35c
Trim comments
...
Leaving only the ones that add anything useful and do not restate the
code verbatim.
2023-05-03 19:22:52 +02:00
Bartłomiej Dach
27fabd99fb
Rename variables for legibility
...
Having `typedComponents` and `typeComponents` next to each other is
asking for trouble.
2023-05-03 19:21:16 +02:00
Terochi
4d52ce769b
Revert SaveState()
calling on initialization
2023-05-01 12:53:58 +02:00
Terochi
fb4b681cc5
Use Queue
instead of Stack
2023-04-30 16:36:01 +02:00
Terochi
8f02bd80f9
Addressed changes
2023-04-30 16:11:52 +02:00
Terochi
949dc1c0f9
Improved logic
2023-04-30 12:05:55 +02:00
Terochi
8ec2154965
Fixed ApplyStateChange
to happen in correct order
2023-04-30 02:01:18 +02:00
Terochi
17e4b75dfd
Save first state when editing
2023-04-29 20:54:19 +02:00
Terochi
3b0ba4b38b
Improved logic for ApplyStateChange
for skin editor
2023-04-29 19:52:22 +02:00
Dean Herbert
6546f5968a
Merge branch 'master' into skin-editor-cyclic-selection
2023-03-14 20:43:56 +09:00
Bartłomiej Dach
5213bfa5c9
Merge branch 'master' into make_skin_reset_dangerous
2023-03-07 21:06:44 +01:00
Dean Herbert
97bee4db89
Fix localisations
2023-03-07 18:07:53 +09:00
Dean Herbert
26ef7c2637
Rename confirmation dialog class to mention revert
not reset
2023-03-07 18:07:46 +09:00
Dean Herbert
21bdbb20e6
Add optional support for cyclic selection to BlueprintContainer
2023-03-07 14:22:12 +09:00
mk56-spn
908651cc11
make ResetConfirmDialog
properly utilise its parent's logic
...
Adjust name of `DeleteAction` to `DangerousAction`
2023-03-05 20:57:26 +01:00
Bartłomiej Dach
60cdd3c070
Clear components sidebar unconditionally on every target change
...
Fixes the working layer dropdown lingering after exiting from a
skinnable screen to a non-skinnable one.
2023-03-04 14:10:05 +01:00
Bartłomiej Dach
d233f3a3ab
Show non-skinnable screen placeholder at higher level
2023-03-04 13:49:10 +01:00
Bartłomiej Dach
49e298e304
Accept ISerialisableDrawableContainer
directly in SkinBlueprintContainer
...
An end result of #22674 is that `SkinBlueprintContainer`s are only ever
created by supplying a `SkinComponentsContainer` to them. However,
`SkinBlueprintContainer` still contained remnants of code that suggested
it was designed to handle cases where more than the drawable supplied to
it contained more than one `ISerialisableDrawableContainer`, or even
zero.
The zero path is totally dead right now (because every
`SkinComponentsContainer` is *by necessity* an
`ISerialisableDrawableContainer`), and the more-than-one path is dead
*for now* (and potentially forever?). Therefore, just hard-couple
`SkinBlueprintContainer` to receive a single target container.
2023-03-04 13:33:21 +01:00
Bartłomiej Dach
2f25fb4083
Move NonSkinnableScreenPlaceholder
to outer scope
2023-03-04 13:22:43 +01:00
Bartłomiej Dach
15409b9c15
Fix skin selection not clearing on exit to non-skinnable screen
2023-03-04 13:18:34 +01:00
mk56-spn
2b7111867c
Adjust reversion header text naming.
2023-03-03 15:12:20 +01:00
mk56-spn
90227a6496
Rename DeleteConfirmationDialog.cs
into DangerousActionDialog.cs
2023-02-27 21:57:59 +01:00
mk56-spn
00a00ead22
Make ResetConfirmDialog
inherit from DeleteConfirmationDialog
2023-02-27 21:50:27 +01:00
mk56-spn
1239de6f41
Upper case web using
alias
2023-02-27 21:34:07 +01:00
mk56-spn
bf1897a98f
Adjust warning text slightly.
2023-02-27 16:08:14 +01:00
mk56-spn
ff0d1aa9f7
Make reverting changes to a given skin into a "dangerous action"
2023-02-26 20:38:50 +01:00
Dean Herbert
dc3c1150b8
Set better defaults for SkinBlueprint
transforms
2023-02-23 21:10:15 +09:00
Dean Herbert
c48aceb055
Fix undo history not being batched correctly for depth change operations
2023-02-23 20:03:36 +09:00
Dean Herbert
16c8a392a1
Add ability to send selected skin components to front or back
2023-02-22 18:17:20 +09:00
Bartłomiej Dach
051eb18b33
Merge branch 'master' into skin-editor-layer-select
2023-02-21 21:38:51 +01:00
Bartłomiej Dach
ec1bf7b0b2
Merge branch 'master' into skin-editor-clipboard
2023-02-21 19:35:58 +01:00
Dean Herbert
af062e7a68
Change placeComponent
to only add to selection, not clear an existing selection
2023-02-21 14:11:18 +09:00
Dean Herbert
0d229d959b
Remove unnecessary TriggerChange
call
2023-02-21 13:50:19 +09:00
Bartłomiej Dach
6799492596
Merge branch 'master' into skin-editor-layer-select
2023-02-20 21:33:48 +01:00
Dean Herbert
43d33d45ca
Only add valid placed components to selected collection on paste
2023-02-20 20:02:43 +09:00
Dean Herbert
b68562b033
Make placeComponent
resilient to missing dependencies
2023-02-20 20:00:12 +09:00
Dean Herbert
a9c7edd087
Remove copy pasted comment
2023-02-20 19:57:16 +09:00
Bartłomiej Dach
1ba1298850
Merge branch 'master' into blueprint-improve-visuals
2023-02-19 15:55:30 +01:00
Dean Herbert
d7381b762c
Also tween origin position
2023-02-19 23:52:21 +09:00
Bartłomiej Dach
ea04c487f2
Merge branch 'master' into blueprint-labels-while-hovering
2023-02-18 15:57:30 +01:00
Bartłomiej Dach
fbea3e312f
Merge branch 'master' into skin-editor-improve-toolbox-hover
2023-02-18 10:02:02 +01:00
Bartłomiej Dach
2aa4481f68
Fix toolbox items spontaneously contracting after briefly losing hover
...
Reproduction scenario:
1. Hover a toolbox item
2. Unhover the item, but do not hover any other item (can be done by
exiting the toolbox completely to the right)
3. Come back to the item hovered in step (1)
4. The item would spontaneously contract after a second
2023-02-17 22:54:11 +01:00
Bartłomiej Dach
b390fdb8cc
Remove unused field
2023-02-17 21:51:19 +01:00
Dean Herbert
0a018514e1
Make skin editor focus only one layer at a time
2023-02-17 19:27:16 +09:00
Dean Herbert
00fcee0c5a
Add per-ruleset component toolbox and placement support
2023-02-17 19:27:16 +09:00
Dean Herbert
ba5a87ca04
Add basic target layer selection in skin editor
2023-02-17 19:27:16 +09:00
Dean Herbert
5ed038fbb3
Improve the feel of hovering toolbox component items
2023-02-17 19:26:03 +09:00
Dean Herbert
814080d982
Only show blueprint labels when hovering or selected
2023-02-17 19:23:52 +09:00
Dean Herbert
6c61c5f4a8
Fix selection on the edge of blueprints (in the new inflation area) failing
2023-02-17 18:19:46 +09:00
Dean Herbert
16d94b4ea2
Improve visuals of skin blueprint
2023-02-17 18:19:46 +09:00
Dean Herbert
925deb7ca5
Make skin editor clipboard shared between screens and skins to allow moving elements over
2023-02-15 19:35:37 +09:00
Dean Herbert
bc83b0c264
Fix clipboard changes not batching as undo steps
2023-02-15 19:35:22 +09:00
Dean Herbert
bcf2555545
Fix components having incorrect default positions
2023-02-15 19:34:42 +09:00
Dean Herbert
d653335b6f
Add basic skin editor clipboard implementation
2023-02-15 19:28:42 +09:00
Dean Herbert
a92e42bb84
Rename SkinnableTargetContainer
to SkinComponentsContainer
...
Also use full `SkinComponentsContainerLookup` instead of the sub-type.
This will potentially be useful once we bring in per-ruleset targets.
2023-02-15 18:37:41 +09:00
Dean Herbert
b1cf6d83d8
Move extension methods closer to serialisation classes
2023-02-15 18:37:41 +09:00
Dean Herbert
e61d2d571c
Move the lookup type out of ISserialisableDrawableContainer
2023-02-15 18:37:41 +09:00
Dean Herbert
a7b47f6503
Rename ISkinnableTarget
to ISerialisableDrawableContainer
2023-02-15 18:37:41 +09:00
Dean Herbert
d159d6b970
Rename ISkinnableDrawable
to ISerialisableDrawable
2023-02-15 18:37:41 +09:00
Dean Herbert
856efd9fd9
Rename SkinnableDrawableInfo
to SerialisedDrawableInfo
2023-02-15 18:23:19 +09:00
Dean Herbert
9e651a7ca2
Rename SkinnableInfo
to SkinnableDrawableInfo
2023-02-15 18:23:17 +09:00
Dean Herbert
6010dde86e
Move SkinnableInfo
to better namespace
2023-02-15 18:23:10 +09:00
Joseph Madamba
bfd83768c1
Fix skin component previews on toolbox buttons having incorrect size for one frame
2023-02-10 17:58:34 -08:00
Dean Herbert
17ca26ebee
Remove unnecessary null check on targetScreen
2023-02-08 15:44:24 +09:00
Dean Herbert
0320ba770f
Handle component changes via ISkinnableTarget.Components
rather than inside SkinEditor
directly
...
Seems saner? Maybe?
2023-02-07 16:23:25 +09:00
Dean Herbert
dad348111d
Fix holding a selection while changing screens causing a crash
2023-02-07 16:07:33 +09:00
Dean Herbert
71eef238c4
Make OnStateChange
non-implemented rather than wrong
2023-02-07 16:04:31 +09:00
Dean Herbert
4c868372a2
Correctly handle anchor/origin changes as undo states
2023-02-06 15:05:05 +09:00
Dean Herbert
7445814fc6
Handle changes to SettingSource
skin element settings
2023-02-06 14:42:59 +09:00
Dean Herbert
10ab4d572a
Merge branch 'master' into skin-editor-undo-support
2023-02-06 13:46:50 +09:00
Bartłomiej Dach
4bd43171e8
Merge branch 'master' into fix-skin-editor-padding-weirdness
2023-02-03 20:28:47 +01:00
Bartłomiej Dach
59656a7286
Merge branch 'master' into skin-editor-dont-show-save-on-no-change
2023-02-03 19:08:33 +01:00
Dean Herbert
2cda277c09
Add a basic change handler to the skin editor
2023-02-03 18:57:50 +09:00
Dean Herbert
b19047b90b
Fix skin editor component list having uneven padding
2023-02-03 16:55:51 +09:00
Dean Herbert
32207dc9dd
Merge branch 'master' into locale/skin-editor-components
2023-02-03 15:24:00 +09:00
Dean Herbert
5ca5f04794
Add parameter hint for optional bool
value
2023-02-03 15:18:40 +09:00
Bartłomiej Dach
4d46a8f32d
Merge branch 'master' into skin-editor-dont-show-save-on-no-change
2023-02-02 19:36:23 +01:00
Bartłomiej Dach
f7fa9e3927
Remove outdated comment
2023-02-02 18:41:35 +01:00
Dean Herbert
015f4f2b38
Avoid showing skin save message when changing scenes after making no changes
2023-02-02 18:42:37 +09:00
Dean Herbert
9b6d95b3d6
Adjust skin editor pop in/out to be more snappy
2023-02-02 18:33:45 +09:00
Dean Herbert
26efb8e842
Replace white box legacy placeholder with something that visually fits
2023-02-02 18:33:31 +09:00
Dean Herbert
8dc2e6872e
Move skin editor to overlays namespace
2023-02-02 14:00:31 +09:00