Dean Herbert
3209b09270
Move inspector into own file
2023-04-04 19:17:34 +09:00
Dean Herbert
4aed483005
Tidy up dependency resolution
2023-04-04 19:14:30 +09:00
Dean Herbert
195b5fc3f1
Add view for selections of size != 1
2023-04-04 19:11:48 +09:00
Dean Herbert
b0d5761667
Add object type
2023-04-04 19:05:50 +09:00
Dean Herbert
c356c163fa
Add hit object inspector view
2023-04-04 19:03:45 +09:00
Dean Herbert
f9ebdadfe8
Move right-side editor toolbox to base HitObjectComposer
...
Move right-side editor toolbox to base `HitObjectComposer`
2023-04-04 19:00:56 +09:00
Bartłomiej Dach
d9ca7102f0
Use more generic wording for future-proofing
2023-02-19 15:06:40 +01:00
Bartłomiej Dach
aac32a2c9f
Combine config and time checks into one
...
Functionally equivalent right now, but the combined variant is more
localised to what it actually needs to do, and less error-prone if
any new code gets appended to the method.
2023-02-19 13:14:51 +01:00
Maximilian Kruse
f3522c4162
change bindable seekToHitObject to private
2023-02-19 10:18:02 +01:00
Maximilian Kruse
ddd37bb319
Add setting to disable automatic seeking after object placement
2023-02-18 19:43:45 +01:00
Derrick Timmermans
6a61e70766
Expose Ruleset from HitObjectComposer instead
2022-11-30 12:17:58 +01:00
Dean Herbert
4215f4f5d7
Merge branch 'master' into Editor-DrawableRuleset-Dependencies
2022-11-30 17:42:46 +09:00
Derrick Timmermans
93ba84e5ff
Fix code style
2022-11-27 21:48:44 +01:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints
2022-11-27 21:43:33 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Derrick Timmermans
65e5c9a3ae
Dispose DrawableRulesetDependencies in HitObjectComposer
2022-11-25 08:27:22 +01:00
Derrick Timmermans
7b620392fe
Provide DrawableRulesetDependencies from HitObjectComposer
2022-11-24 13:13:45 +01:00
Dean Herbert
d0e6bda9ef
Stop HitObjectComposer
from handling Shift
+Number
keys
2022-10-24 15:19:36 +09:00
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