Dean Herbert
f443cfb93e
Move blueprint validity conditions to allow more correct external usage of EndPlacement
...
Until now, these were haphazardly enforce inline in blueprint
implementations. The only thing stopping complete breakage is that
`EndPlacement` wasn't called (too much) from outside the blueprint,
leaving them responsible for their own placement.
By moving this conditional out of the provided paramters to
`EndPlacement`, it allows more flexible usage of that method externally.
Coming in a future PR.
2023-05-12 16:02:22 +09:00
Bartłomiej Dach
0a47ffcbdd
Match generally used casing
...
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2023-05-09 07:03:13 +02:00
Dean Herbert
85d0c56cd2
Fix incorrect special style description text
...
Closes https://github.com/ppy/osu/issues/23428 .
2023-05-08 13:00:45 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
f41b79688f
Avoid casting by accepting all Playfield
s but throwing on a bad choice
2022-10-11 16:54:41 +09:00
ekrctb
6ab29a62d0
Anchor drag box on time (catch, mania)
...
Not done for taiko because I cannot figure out how it should work with the overlapping scroll algorithm.
2022-10-11 14:23:17 +09:00
Dean Herbert
ee153a345c
Add a few more overlooked beatmap save states on setup screen modifications
2022-08-16 16:31:56 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
5af7641e94
Add safety against playfield potentially not being available during mania note placement
2022-05-19 15:53:53 +09:00
Dean Herbert
f7e055dbfe
Move mania note height offset application to a much more suitable location
2022-05-12 16:19:07 +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
f6fc926f1a
Add xmldoc and rename methods in IPositionSnapProvider
for legibility
2022-05-05 15:58:21 +09:00
Susko3
19467e58c1
Remove unused params from BDL methods
2022-01-15 01:06:39 +01:00
Dean Herbert
1eed2436e6
Clean up unused resolved properties
2021-12-03 18:49:49 +09:00
Dean Herbert
1a26658ba4
Add description for mania special style
2021-09-05 13:40:49 +09:00
Bartłomiej Dach
565f147a5c
Add special style setting for osu!mania
2021-09-02 23:29:14 +02: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
ekrctb
d0e57f7dd9
Use HitObject
instead of DHO for mania selection blueprint layout
...
- Fix moving selected hold note between columns will cause a crash
2021-06-15 13:20:51 +09:00
Dean Herbert
bddc3121dc
Merge branch 'master' into mania-pooling
2021-05-19 17:23:45 +09:00
Dan Balasescu
ef81bdf63f
Merge branch 'master' into always-use-lifetime-entry
2021-05-18 20:10:12 +09:00
smoogipoo
562ac73e96
Merge branch 'hoc-event-queue' into mania-pooling
2021-05-18 14:54:00 +09:00
smoogipoo
72beddaadc
Remove nested blueprints from hold notes
2021-05-18 14:25:07 +09:00
smoogipoo
e621cfc4ea
Add Apply() method for applying new DHOs
2021-05-18 14:14:10 +09:00
smoogipoo
b5afe4e506
Merge branch 'hoc-event-queue' into mania-pooling
2021-05-13 21:53:38 +09:00
smoogipoo
2307889bf8
Fix incorrect cast
2021-05-13 21:41:28 +09:00
smoogipoo
98e77a30d3
Move column changing logic to ManiaSelectionHandler
2021-05-13 20:13:50 +09:00
smoogipoo
ffb6135a1b
Rework hitobject blueprints to take in hitobject models
2021-05-13 19:53:32 +09:00
ekrctb
4a93e27e83
Revert "Fix mania editor null reference"
...
This reverts commit 1d023dce
2021-05-04 16:46:30 +09:00
Dean Herbert
9c62c90cfc
Refactor SelectionBlueprint
and MoveSelectionEvent
to work in screen-space coordinates
...
Until now, the implementation of the overrides in `SelectionBlueprint`
have been confusing to the point where I would just implement by
trial-and-error (or copying from an existing implementation). This was
due to a combination of using "object" space coordinates
(ie. the thing the `Blueprint` is operating on) and screen-space coordinates.
This change switches all event related coordinates to screen-space,
which is how we already handle rotation/scale operations. With the
introduction of other editor types where the related objects are
drawables, this also makes a lot more sense.
2021-04-29 16:10:42 +09:00
ekrctb
1d023dcedb
Fix mania editor null reference
2021-04-29 14:39:52 +09:00
ekrctb
d262956146
Always use LifetimeEntry to manage hit objects in HitObjectContainer
...
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.
- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +09:00
Dean Herbert
f2e56bd306
Refactor editor selection/blueprint components to be generic
2021-04-27 19:01:29 +09:00
Dean Herbert
e8d83f2f99
Rename "EditRuleset" and "EditPlayfield" to use full "Editor" keyword
2021-04-26 14:33:30 +09:00
Dean Herbert
b37c5a8749
Rollback hold note placement when length is zero
2021-04-22 14:59:57 +09:00
Dean Herbert
119c9b4294
Fix placement blueprints not being correctly removed after a rolled back placement
2021-04-16 14:11:33 +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
cd1c1bf534
Centralise cases of performing actions on the current selection
...
By moving this to a central location, we can avoid invoking the
EditorChangeHandler when there is no selection made. This helps
alleviate the issue pointed out in
https://github.com/ppy/osu/issues/11901 , but not fix it completely.
2021-02-26 14:15:13 +09:00
ekrctb
e3c035fe9c
Adjust namespace
2020-12-07 12:32:52 +09:00
Dean Herbert
9811c46e35
Rename application method to better describe what it actually does
2020-11-26 19:16:18 +09:00
smoogipoo
4ef2e9548c
Pass HitObjectComposer to BlueprintContainer via ctor
2020-11-13 16:59:37 +09:00
Dean Herbert
a3dc1d5730
Update existing implementations
2020-11-04 17:14:23 +09:00
Dean Herbert
3838f405dd
Fix missed usages
2020-10-09 18:50:05 +09:00
Dean Herbert
a65f564e45
Add icons for other ruleset editors
2020-09-09 18:40:01 +09:00
smoogipoo
385f7cf85d
Implement mania hold note body recycling
2020-08-18 17:56:48 +09:00
Dean Herbert
8fa8c561e7
Pass hitobjects as a parameter to CreateBlueprintContainer
2020-05-29 12:20:50 +09:00
Dean Herbert
6be5917eb0
Remove necessity for custom mania interface caching
2020-05-27 23:15:16 +09:00
Dean Herbert
919ff92d15
Remove unused resolved composer
2020-05-27 22:56:12 +09:00
Dean Herbert
827345ed88
Fix mania offsets
2020-05-25 22:06:02 +09:00