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
50e24ddd87
Add icon and radio button logic
2022-10-19 21:35:08 +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
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
Dean Herbert
da820c815e
Add shortcut keys to toolbox gorup titles
2020-09-25 16:46:06 +09:00
Dean Herbert
a6298c60eb
Fix button spacing
2020-09-25 16:44:37 +09:00
Dean Herbert
ae68dcd962
Add ternary toggle buttons to editor toolbox selection
2020-09-25 16:38:12 +09:00
Dean Herbert
bca774a0d4
Allow BlueprintContainer to specify toggles
2020-09-25 14:09:31 +09:00
Dean Herbert
3c191cfe25
Add basic xmldoc to HitObjectComposer
2020-09-25 14:08:47 +09:00
Dean Herbert
325bfdbf71
Fix hard crash on hitting an out of range key (Q~P)
2020-09-25 13:25:42 +09:00
Dean Herbert
6ebea3f6f2
Add ability to toggle editor toggles using keyboard shortcuts (Q~P)
2020-09-24 16:24:25 +09:00
Joehu
c5b684bd2e
Fix typo in log when beatmap fails to load
2020-09-23 00:30:20 -07:00
Dean Herbert
432c3e17eb
Fix toolbox becoming inoperable due to incorrect ordering
2020-09-11 20:23:34 +09:00
Dean Herbert
139a5acd1b
Fix editor hitobjects getting masked weirdly
...
Closes #10124
2020-09-11 20:16:50 +09:00
Dan Balasescu
6f6adb61d7
Merge pull request #10099 from peppy/add-editor-tool-icons
...
Add icons for editor toolbox tools
2020-09-09 22:22:58 +09:00
Dean Herbert
d210e05629
Add a touch of spacing between toolbox groups
2020-09-09 19:20:11 +09:00
Dean Herbert
fb2aced3ac
Add toggle for distance snap
2020-09-09 19:15:35 +09:00
Dean Herbert
c9f5005efd
Add icons for editor toolbox tools
2020-09-09 18:40:01 +09:00
Yao Chung Hu
96f39dd350
Merge remote-tracking branch 'upstream/master' into visible-playfield-boundary
2020-09-05 01:50:13 -05:00
Dean Herbert
127330b8f9
Add 1ms lenience to avoid potential precision issues
2020-08-25 20:57:31 +09:00
Dean Herbert
6c7475f085
Fix snapped distances potentially exceeding the source distance
...
This results in slider placement including "excess" length, where the
curve is not applied to the placed path. This is generally not what we
want.
I considered adding a bool parameter (or enum) to change the
floor/rounding mode, but on further examination I think this is what we
always expect from this function.
2020-08-25 18:58:01 +09:00
Yao Chung Hu
0d95b768aa
Rename and Move EditorPlayfieldBorder to PlayfieldBorder for general purpose
2020-07-10 07:34:48 -05:00
Dean Herbert
b9464a2aa8
Merge branch 'master' into editor-create-composer-fix
2020-06-01 15:38:15 +09:00
Dean Herbert
19be111da0
Move incorrect placed full stop
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-05-31 22:33:10 +09:00
Dean Herbert
8fa8c561e7
Pass hitobjects as a parameter to CreateBlueprintContainer
2020-05-29 12:20:50 +09:00
Dean Herbert
46689a2fbc
Tidy up and complete xmldoc for HitObjectComposer
2020-05-29 11:46:32 +09:00
Dan Balasescu
1a2392aa83
Merge branch 'master' into remove-unused-mania-rprop
2020-05-28 14:57:10 +09:00
Dean Herbert
6be5917eb0
Remove necessity for custom mania interface caching
2020-05-27 23:15:16 +09:00
Dean Herbert
9a060cfb3a
Allow drag selections to occur from outside the playfield
2020-05-27 20:44:15 +09:00
Dan Balasescu
b5de30ef3d
Merge branch 'master' into editor-scrolling-playfield-support
2020-05-26 14:46:58 +09:00
Dan Balasescu
98f3d790df
Merge pull request #9107 from peppy/editor-remove-size-propagation
...
Remove unnecessary size propagation in HitObjectComposer
2020-05-25 23:55:26 +09:00
Dean Herbert
e7442ec3a2
Remove need for ManiaSnapResult
2020-05-25 19:33:03 +09:00
Dean Herbert
af5fac471e
Remove unnecessary size propagation in HitObjectComposer
2020-05-25 19:29:46 +09:00
Dean Herbert
d18eb663b1
Add tweening seek support to EditorClock
2020-05-22 16:47:52 +09:00
Dean Herbert
dd09d7830d
Cache and resolve editor clock as EditorClock in all cases
2020-05-22 16:44:06 +09:00
Dean Herbert
8a47e2431b
Move distance snap grid implementation to OsuHitObjectComposer
2020-05-21 17:13:22 +09:00
Dean Herbert
b1fd7da824
Merge branch 'master' into editor-position-snap
2020-05-21 15:47:20 +09:00
Dean Herbert
a9a1c00cf1
Move responsibility placement blueprint's StartTime set to within
2020-05-21 14:50:33 +09:00
Dean Herbert
e09a1bf546
Only seek forwards if not already beyond the placed object
2020-05-20 21:50:52 +09:00
Dean Herbert
b5a7023312
Seek to start time after placement, not end
2020-05-20 21:46:52 +09:00
Dean Herbert
970bd86d2e
Remove local TimeAt usage in mania placement
2020-05-20 21:01:29 +09:00
Dean Herbert
23bf0d000e
Implement mania beat snapping support
2020-05-20 21:01:19 +09:00
Dean Herbert
ffb8d48fc3
Fix osu!mania editor placement regressions
2020-05-20 21:01:03 +09:00
Dean Herbert
c46bfc2532
Create SnapResult class to hold various snapping results
2020-05-20 21:00:47 +09:00
Dean Herbert
3354d48a38
Change snapping to be screen space coordinate based
2020-05-20 21:00:29 +09:00
smoogipoo
ee6ea08cf8
Cleanup handling of hitobject updates
2020-04-09 20:16:44 +09:00
Dan Balasescu
f3c47dc8c9
Merge branch 'master' into seek-to-endtime-on-placement
2020-02-10 14:53:11 +09:00
Dean Herbert
91203c2b12
Merge branch 'master' into placement-display-in-timeline
2020-02-08 01:50:24 +09:00
Dean Herbert
678eb8ec31
Reduce accessibility to set
...
Co-Authored-By: Dan Balasescu <smoogipoo@smgi.me>
2020-02-08 00:12:23 +09:00