1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 07:42:57 +08:00
Commit Graph

73 Commits

Author SHA1 Message Date
smoogipoo
a491fb42df Set slider start time when head is placed 2018-10-29 15:26:07 +09:00
smoogipoo
9540e53e32 Initial controlpoint implementation 2018-10-29 15:26:07 +09:00
smoogipoo
2c4616dbb1 Adjust visual display of the placement curve 2018-10-29 15:26:07 +09:00
smoogipoo
402950b132 Implement path drawing 2018-10-29 15:26:07 +09:00
smoogipoo
bd915e8dca Implement initial slider placement (linear) 2018-10-29 15:26:06 +09:00
smoogipoo
38ce8f8af1 Refactor SliderSelectionMask 2018-10-29 15:26:06 +09:00
smoogipoo
9b19050faf Update with slider body changes 2018-10-29 15:25:20 +09:00
smoogipoo
22c545ea8c Make circle piece respond to hitobject scale 2018-10-26 15:26:19 +09:00
smoogipoo
4a507c66ee Cleanup 2018-10-26 15:26:08 +09:00
smoogipoo
f674fcf2c8 Merge branch 'mask-separation' into editor-mask-placement
# Conflicts:
#	osu.Game.Rulesets.Mania/Edit/ManiaHitObjectComposer.cs
#	osu.Game.Rulesets.Osu/Edit/OsuHitObjectComposer.cs
#	osu.Game.Tests/Visual/TestCaseHitObjectComposer.cs
2018-10-26 14:05:30 +09:00
smoogipoo
ea3c960b5b Mask -> Piece for components 2018-10-26 13:51:03 +09:00
smoogipoo
9656186b64 Make the hitobject masks move within their placement/selection
# Conflicts:
#	osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMasks/Components/HitCircleMask.cs
#	osu.Game.Rulesets.Osu/Edit/Masks/HitCircleMasks/HitCircleSelectionMask.cs
#	osu.Game.Rulesets.Osu/Edit/Masks/HitCirclePlacementMask.cs
#	osu.Game/Rulesets/Edit/PlacementMask.cs
2018-10-26 13:45:31 +09:00
smoogipoo
4051864bb4 Re-namespace 2018-10-26 13:39:19 +09:00
smoogipoo
e1db2bbc25 Split visuals of HitCircleSelectionMask into HitCircleMask 2018-10-26 13:31:44 +09:00
smoogipoo
677d0d4a19 Renamespace ruleset masks 2018-10-26 13:31:38 +09:00
smoogipoo
8703db5cc1 Rename HitObjectMask -> SelectionMask 2018-10-26 13:31:23 +09:00
smoogipoo
e14719e440 Mask -> Piece for non-mask components 2018-10-25 18:28:10 +09:00
smoogipoo
d19f80835b Adjust namespaces 2018-10-25 18:26:28 +09:00
smoogipoo
ea6db8b793 Make the hitobject masks move within their placement/selection 2018-10-25 18:16:25 +09:00
smoogipoo
f42f9cffe3 Make HitCirclePlacementMask directly modify hitcircle position 2018-10-17 18:16:34 +09:00
smoogipoo
d36ac59ca2 Reduce complexity of creating edit ruleset containers 2018-10-17 18:06:00 +09:00
smoogipoo
08e3fe1def Add PlacementStarted event, rename placement methods 2018-10-17 14:37:45 +09:00
smoogipoo
f384c7228e Fix post-merge issues 2018-10-16 17:28:23 +09:00
smoogipoo
70f1d17b7e Merge remote-tracking branch 'origin/master' into editor-mask-placement
# Conflicts:
#	osu.Game.Rulesets.Catch/UI/CatchRulesetContainer.cs
#	osu.Game.Rulesets.Mania/Edit/ManiaEditRulesetContainer.cs
#	osu.Game.Rulesets.Osu/Edit/OsuEditRulesetContainer.cs
#	osu.Game/Rulesets/UI/RulesetContainer.cs
2018-10-16 17:28:16 +09:00
smoogipoo
b56d09c83b Set hitobject placement time manually 2018-10-10 15:32:59 +09:00
smoogipoo
ff559a3a1b Merge remote-tracking branch 'origin/master' into playfield-scaling-rework
# Conflicts:
#	osu.Game.Rulesets.Catch/UI/CatchPlayfield.cs
#	osu.Game/Rulesets/UI/Scrolling/ScrollingPlayfield.cs
2018-10-05 10:40:16 +09:00
smoogipoo
d0007c047a PlayfieldLayer -> PlayfieldAdjustmentContainer 2018-10-05 10:39:18 +09:00
smoogipoo
e931aa3d9e Move positional modifications to HitCirclePlacementMask 2018-10-04 13:43:50 +09:00
smoogipoo
6a65802528 Fix hitcircle selections not responding to stacking changes 2018-10-04 12:19:11 +09:00
smoogipoo
3420e0c7eb Re-implement composition tools + implement placement masks 2018-10-03 16:27:26 +09:00
smoogipoo
540a010fbb Implement an intermediary EditRulesetContainer 2018-10-03 15:36:24 +09:00
smoogipoo
28b0ab6123 Split visuals of HitCircleSelectionMask into HitCircleMask 2018-10-03 14:35:26 +09:00
smoogipoo
1164108a95 Renamespace ruleset masks 2018-10-03 13:45:41 +09:00
smoogipoo
4cdb6dcea5 Rename HitObjectMask -> SelectionMask 2018-10-03 13:28:00 +09:00
smoogipoo
a8f156584b Update framework with positional/non-positional changes 2018-09-26 14:01:15 +09:00
smoogipoo
0bc2bcaf14 Remove GetAspectAdjustedSize() and PlayfieldArea 2018-09-21 15:14:49 +09:00
smoogipoo
a166d03ede Remove duplicate implementation of the Osu playfield layer 2018-09-21 14:43:38 +09:00
smoogipoo
826dc6ceb7 Make Playfield not a ScalableContainer 2018-09-21 14:02:32 +09:00
smoogipoo
1139f0dbf2 Centralise method of disabling playfield judgements 2018-07-20 17:04:33 +09:00
smoogipoo
268c14813b Fix resharper warnings 2018-05-07 11:38:41 +09:00
smoogipoo
4ecdea8b2e Remove now-unnecessary IsForCurrentRuleset property of RulesetContainer 2018-05-07 10:17:54 +09:00
smoogipoo
c9e4a07e12 Merge remote-tracking branch 'origin/master' into remove-approachcircle-hax
# Conflicts:
#	osu.Game.Rulesets.Osu/Edit/OsuEditPlayfield.cs
#	osu.Game.Rulesets.Osu/UI/OsuPlayfield.cs
2018-04-20 18:04:43 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
smoogipoo
cea3e1c7f5 Remove now unnecessary approachcircle proxy disables
Prereqs:
- [ ] ppy/osu-framework#1505
2018-04-09 18:44:50 +09:00
Dean Herbert
6c125683d4
Merge branch 'master' into selectionlayer-rewrite 2018-04-04 20:47:36 +09:00
Dean Herbert
b7325d73e8 Don't inherit VisbilityContainer 2018-04-04 20:44:11 +09:00
smoogipoo
d4cb00e08f Don't display judgements in OsuEditPlayfield 2018-04-04 17:12:41 +09:00
smoogipoo
4ad776bfde Make slider circle masks not handle mouse input at all 2018-03-30 14:15:46 +09:00
smoogipoo
3129c2cc75 Fix slider circle masks blocking input for now 2018-03-29 22:41:49 +09:00
smoogipoo
6d4f94756e Rewrite the way drag + click selections happen
The general idea here is that we need the masks to handle mouse down events, as they need to handle the drag (mousedown -> drag immediately).

I've rewritten the editor selections to use events, as there are some 3 different components that handle/trigger selections in different ways.

1. All selections/deselections now propagate through `HitObjectMask.Select()`/`HitObjectMask.Deselect()`.
2. Components that react to changes in the selection bind to the masks' `Selected`/`Deselected` events, and track them/change their states locally.
3. Masks provide a `SingleSelectionRequested` event which is invoked on the mouse-down event. Various components bind to this event to perform state changes locally in this scenario.
4. `DragBox` now handles all drag input locally. It triggers `Select`/`Deselect` on the masks it needs to.
5. `SelectionBox` handles the display of itself locally.
6. `SelectionBox` handles movement of groups of masks locally.
7. `HitObjectMasks` handles movement of itself locally.
2018-03-29 22:07:23 +09:00