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
Dean Herbert
e7442ec3a2
Remove need for ManiaSnapResult
2020-05-25 19:33:03 +09:00
Dean Herbert
b8130bd366
Make mania selection blueprint abstract
2020-05-25 19:31:09 +09:00
Dean Herbert
ce35d09e7d
Fix incorrect alpha application to lines on rewinding
2020-05-22 12:45:37 +09:00
Dean Herbert
d529a2aefa
Remove left-over function
2020-05-22 12:28:01 +09:00
Dean Herbert
b2667bbb02
Move protected implementation down
2020-05-22 11:45:58 +09:00
Dean Herbert
6de2597958
Merge branch 'editor-position-snap' into mania-distance-snap-grid
2020-05-22 11:27:36 +09:00
Dean Herbert
8a105bdbcf
Remove unused ColumnAt method
2020-05-22 11:23:39 +09:00
Dean Herbert
a756e6d212
Add xmldoc and remove unnecessary parameter
2020-05-21 15:16:30 +09:00
Dean Herbert
a9a1c00cf1
Move responsibility placement blueprint's StartTime set to within
2020-05-21 14:50:33 +09:00
Dean Herbert
bac78707de
Move more logic to column to both clean things up and fix tests
2020-05-21 14:25:37 +09:00
Dean Herbert
5ad7842b91
Move ScreenSpacePositionAtTime to inside Column implementation
2020-05-21 13:33:02 +09:00
Dean Herbert
94bb59db0d
Merge branch 'editor-position-snap' into mania-distance-snap-grid
2020-05-21 12:50:49 +09:00
Dean Herbert
83a5913b8d
Undo beat snapping related changes
2020-05-21 12:12:21 +09:00
Dean Herbert
69db62b78a
Combine implementation of time-to-position lookup
2020-05-20 21:42:21 +09:00
Dean Herbert
63b5f1a376
Remove unnecessary IRequireHighFrequencyMousePosition
2020-05-20 21:14:20 +09:00
Dean Herbert
e3cec9cf6c
Simplify column assignment
2020-05-20 21:13:08 +09:00
Dean Herbert
7c9fbb6fcf
Split out classes
2020-05-20 21:03:03 +09:00
Dean Herbert
19e2da9c73
Fix down scrolling giving incorrect positioning data
2020-05-20 21:01:29 +09:00
Dean Herbert
26fb779f4d
Move remaining positioning logic local to hold note blueprint
2020-05-20 21:01:29 +09:00
Dean Herbert
2f78866dfb
Move positioning out of mania blueprints
2020-05-20 21:01:29 +09:00
Dean Herbert
62092e3f5b
Propagate mania column in SnapResult
2020-05-20 21:01:29 +09:00
Dean Herbert
82d6549161
Pass down snap result and remove local TimeAt usage
2020-05-20 21:01:29 +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
Dean Herbert
0bc3073d49
Fix test failures
2020-05-20 15:01:32 +09:00
Dean Herbert
d31a59b074
Fix logic results in infinite loop on default timing point return
2020-05-20 14:55:36 +09:00
Dean Herbert
85156c62ef
Add xmldoc and address some code quality concerns
2020-05-19 23:05:08 +09:00
Dean Herbert
c28a9bdb80
Move load method up
2020-05-19 23:02:20 +09:00
Dean Herbert
a6f3dc53f7
Fix time value not being updated for next timing point
2020-05-19 23:01:36 +09:00
Dean Herbert
d56466e2b9
Add very basic pooling of grid lines
2020-05-19 19:07:35 +09:00
Dean Herbert
406f39e8bf
Construct online visible lines
2020-05-18 21:27:26 +09:00
Dean Herbert
b35b150f38
Simplify colouring logic
2020-05-18 19:48:51 +09:00
Dean Herbert
16e85ae0b1
Remove Grid class
2020-05-18 17:52:04 +09:00
Dean Herbert
d9bb90078b
Move grids to inside columns
2020-05-18 17:47:52 +09:00
smoogipoo
238d87f976
Add comment about gray usage
2020-05-15 15:56:32 +09:00
smoogipoo
1c6c128d11
Add const
2020-05-15 15:51:54 +09:00
smoogipoo
392d44e1fb
Always fully display one beat
2020-05-15 15:49:50 +09:00
smoogipoo
4cbd51feb9
Fix test errors
2020-05-15 13:08:15 +09:00
smoogipoo
3441ab457d
Fix hitobjects placed at non-beatsnapped times
2020-05-14 20:06:34 +09:00
smoogipoo
0e33494074
Fix flashing when changing beat divisor
2020-05-14 19:58:39 +09:00
smoogipoo
42c3d892cd
Only update alive lines
2020-05-14 19:55:14 +09:00
smoogipoo
91d1b15d5a
Integrate grid with the mania composer
2020-05-14 19:55:07 +09:00
smoogipoo
16585f767e
Add initial beat snap grid implementation
2020-05-14 19:17:24 +09:00
smoogipoo
0ef3bae26a
Expose playfield from IManiaHitObjectComposer
2020-05-14 18:34:51 +09:00
smoogipoo
78f1b230e9
Disable right-click placement in the mania editor
2020-05-13 14:43:50 +09:00
smoogipoo
db12fafc2c
Update comment
2020-04-28 18:58:29 +09:00
smoogipoo
ff24a15760
Fix vertical drag in down-scroll scenarios
2020-04-28 18:36:24 +09:00
smoogipoo
7d54d4b800
Improve test scene
2020-04-28 18:36:10 +09:00
smoogipoo
f93291e25b
Remove unused override
2020-04-28 18:35:22 +09:00
smoogipoo
e5131400e7
Remove now unnecessary position manipulation
2020-04-28 18:34:39 +09:00
smoogipoo
3eb7c8755c
Cleanup
2020-04-28 15:34:41 +09:00
smoogipoo
7342e00151
Convert positions to local HOC coordinate space
2020-04-28 14:00:14 +09:00
smoogipoo
cebc0fc046
Attempt to fix multiple selection movements
2020-04-27 20:35:24 +09:00
smoogipoo
b88dd44252
Fix movement not working correctly in down-scroll
2020-04-27 19:47:25 +09:00