Dean Herbert
6a7f6c76ff
Fix osu! editor padding being applied to toolboxes
...
The result of https://github.com/ppy/osu/pull/20739 and https://github.com/ppy/osu/pull/20738 having unintended side effects when applied together.
2022-10-18 14:32:00 +09:00
Dean Herbert
4d99c7002b
Add background behind editor toolbox groups
2022-10-13 16:36:19 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
17206bbebf
Update screen padding and colouring to better match new designs
2022-05-24 18:43:22 +09:00
Dean Herbert
c0abce918f
Add enum
to snap method as alternative to mutliple nested invocations
2022-05-12 16:19:07 +09:00
Dean Herbert
e83604a1fc
Merge branch 'master' into cache-at-interface
2022-05-05 18:54:24 +09:00
Dean Herbert
5a1ac71d90
Remove unnecessary type specification in HitObjectComposer
's caching
2022-05-05 16:44:37 +09:00
Dean Herbert
1c6a233cc0
Move snap provider caching to interfaces
2022-05-05 16:44:37 +09:00
Dean Herbert
b411b59006
Move IPlacementHandler
caching to interface
2022-05-05 16:43:02 +09:00
Dean Herbert
f6fc926f1a
Add xmldoc and rename methods in IPositionSnapProvider
for legibility
2022-05-05 15:58:21 +09:00
Dean Herbert
b325f0ee0b
Combine editor toolbox container implementation and fix input blocking
...
Until now, toolbox scroll areas would block input from arriving behind
them, even when no visible element was clicked.
In addition, clicking on a button inside a toolbox would still send a
`MouseDown` event to things behind it. Specifically, the editor's
`HitObjectComposer` would receive these events and also place objects
when the user does not expect them to be placed.
This fixes another regression that occurred due to `ScrollContainer`s no
longer blocking input theirselves.
2022-05-04 17:41:30 +09:00
Salman Ahmed
2e8372fe90
Minor cleanup
...
Just from reading diff.
2022-04-28 07:14:43 +03:00
Salman Ahmed
835898dd30
Introduce DistancedHitObjectComposer
and supersede OsuToolboxComposite
2022-04-28 06:44:50 +03:00
Salman Ahmed
8ed39009fd
Encapsulate distance spacing control handling to a "distance toolbox composite"
...
Encapsulated in a way which can allow further extensibility for the
right-side area of toolboxes.
2022-04-24 08:33:03 +03:00
Salman Ahmed
0992bec2c8
Change "distance spacing" multipler type to double
...
Avoids losing precision on initial load, causing an unnecessary
hash change in `EditorChangeHandler`.
Resolves test failures in `TestSceneEditorChangeStates`
(https://github.com/ppy/osu/runs/5192493482?check_suite_focus=true ).
2022-02-16 03:28:12 +03:00
Salman Ahmed
868dcd20f5
Remove e.ShiftPressed
handling for now
...
Broken on macOS, will be handled differently later on as discussed.
2022-02-15 02:21:53 +03:00
Salman Ahmed
528dc03b8c
Expose distance spacing in IPositionSnapProvider
for updating distance grid
...
Alternate method is to expose a `SnapDistancesChanged` event in
`IPositionSnapProvider` instead, but I chose this way as an analogue to
`IBeatSnapProvider.BeatDivisor`, which might even make sense to be
exposed as `BindableBeatDivisor` instead of caching that separately.
2022-02-15 02:21:53 +03:00
Salman Ahmed
19ee05c232
Add "distance spacing" multiplier for osu! ruleset
...
While osu!catch also implements a distance snap grid, it doesn't rely on
`GetBeatSnapDistanceAt` (unlike osu!), therefore it can't have the
"distance spacing" multiplier yet.
2022-02-15 02:21:53 +03:00
Dean Herbert
b9d9fc56af
Move files to UI namespace
2022-02-14 17:51:39 +09:00
Dean Herbert
cea9cab4dc
Use ExpandingButtonContainer
in editor composer
2022-01-06 21:10:45 +09:00
Dean Herbert
ef2a4aed9a
Fix editor playfield not being centered correctly
...
This has come up multiple times, with mappers citing that they have
muscle memory for mapping based on the centre of the playfield being in
the centre of the window.
The original plan was to have a second toolbar on the right hand side of
the screen to balance the padding, but we're not at that point yet.
Easiest solution is to do what stable does and allow the left-hand
toolbar items to overlap the playfield underneath it.
In edge cases where the user is running at an aspect ratio that causes
overlaps, they can choose to collapse the toolbars down. We can probably
work on this UI/UX a bit more as we update designs to be more friendly
to such cases.
2022-01-05 16:05:18 +09:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI
2021-12-23 19:02:10 +01:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
smoogipoo
bc37cb6f43
Merge branch 'master' into no-more-difficulty-control-points-info
2021-10-08 18:41:17 +09:00
Dean Herbert
b339c149d8
Copy BaseDifficulty
to Beatmap<T>
and move all write operations across
2021-10-06 15:10:45 +09:00
Dean Herbert
d4e5a612ea
Update IPositionalSnapProvider
to take a HitObject
as reference, rather than raw time
...
This allows fetching the correct `DifficultyControlPoint` from the
hitobject. Nothing more.
2021-09-03 17:11:12 +09:00
Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
b29209d13f
Ensure tool is always set back to select tool when beatmap becomes untimed
2021-07-19 17:08:40 +09:00
Dean Herbert
bde35d9f21
Rename radio button classes to be local to editor
2021-07-19 16:57:12 +09:00
Dean Herbert
eac9b1ec7e
Disable toolbox composition buttons when beatmap is not timed
2021-07-17 02:30:13 +09:00
ekrctb
9dcd0bf311
Remove IPlayfieldProvider
by caching Playfield
2021-06-17 10:15:24 +09:00
ekrctb
ef96ceb4ab
Introduce IPlayfieldProvider
2021-06-15 14:43:04 +09:00
Dean Herbert
dd3d8e5d03
Make SelectionHandler
abstract to ensure things get implemented
2021-04-27 19:01:29 +09:00
smoogipoo
fd5fbaf0db
Rename ruleset wrapper class
2021-04-26 15:37:42 +09:00
Nathan Alo
9a02f3868c
return a string instead
2021-03-29 17:29:05 +08:00
Nathan Alo
b8b7eb4c4b
refactor logic to its own component and handle hit object to string conversion to its ruleset-specific composers
2021-03-26 15:25:20 +08:00
Dean Herbert
04fa32bc34
Rename and add xmldoc for smooth seeking method
2021-01-15 16:14:21 +09:00
Dean Herbert
c9a41f9dae
Make all objects in selection candidates for spatial snapping
...
Closes #10898 .
2020-11-24 17:35:54 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
Bartłomiej Dach
7c388f1132
Move editor playfield border locally to osu! composer
2020-10-19 21:20:13 +02:00
Bartłomiej Dach
4267d23d59
Move border to more appropriate namespace
2020-10-19 20:56:34 +02:00
Bartłomiej Dach
053c7a69a6
Fix code style issues & compilation failures
2020-10-19 20:22:48 +02:00
Dean Herbert
22bde43106
Merge branch 'master' into visible-playfield-boundary
2020-10-19 18:05:28 +09:00
Dean Herbert
ff7c904996
Add autoplay mod in editor specific ruleset construction
2020-09-28 15:48:42 +09:00
Dean Herbert
8e6bf516d9
Merge branch 'master' into editor-ternary-buttons
2020-09-25 18:30:59 +09:00
Dean Herbert
346d14d40b
Rename variables to match
2020-09-25 17:45:19 +09:00
Dean Herbert
22511c36c3
Ensure toggles are not instantiated more than once for safety
2020-09-25 17:43:09 +09:00
Dan Balasescu
7b09f73fe5
Merge branch 'master' into new-combo-toggle
2020-09-25 17:33:12 +09:00
Dan Balasescu
e1fc8d76fb
Merge branch 'master' into editor-dont-block-keys-unnecessarily
2020-09-25 17:31:41 +09:00
Dean Herbert
b70a20e7f1
Avoid consuming keystrokes in editor when a modifier key is held down
2020-09-25 16:56:39 +09:00