1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 09:42:54 +08:00
Commit Graph

106 Commits

Author SHA1 Message Date
Bartłomiej Dach
a200d043be
Merge pull request #24698 from Wleter/skin-editor-closest-anchor
Fix closest anchor for rotated/flipped selections in skin editor
2023-09-04 10:29:05 +02:00
Wleter
fc4069f794 let SelectionBox perform flip with scale handles 2023-09-01 13:01:51 +02:00
Wleter
47160f7744 make getClosestAnchor work with rotated drawable 2023-08-31 20:24:26 +02:00
Wleter
f277909470 maintain rotated selection's centre position 2023-08-30 09:16:16 +02:00
Wleter
ce1bc71567 formatting 2023-08-29 18:41:56 +02:00
Wleter
586ce6e8d3 fix multiple selected 2023-08-29 17:47:42 +02:00
Wleter
d56ab0fe9a change names 2023-08-29 17:25:52 +02:00
Wleter
3c575516ab add correct scaling for 90 degrees rotation 2023-08-29 17:06:23 +02:00
Wleter
07e126241d working negative scaling 2023-08-28 16:41:55 +02:00
Wleter
9f4f81c150 accumulating negative scaling 2023-08-21 19:36:11 +02:00
Wleter
d2798c7a1c don't allow negative scaling 2023-08-20 17:55:19 +02:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer 2023-08-03 20:42:15 +02:00
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