Commit Graph

88 Commits

Author SHA1 Message Date
Dean Herbert 32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +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
Dean Herbert af65f2dd48 Move AccentColour changes local to rulesets which rely on it 2018-03-22 18:53:16 +09:00
Dean Herbert 366b7fca65 Remove GetColour method 2018-03-22 18:50:19 +09:00
Dean Herbert c4fe6a04c5 Use string lookups for combo colours 2018-03-22 17:32:05 +09:00
Dan Balasescu ab9505652b Merge branch 'master' into skin--completion 2018-03-22 16:44:00 +09:00
Dean Herbert 9ad4e9284a Add skin source fallback chain 2018-03-20 16:40:11 +09:00
Dean Herbert a42035f494 Make DrawableHitObject a CompositeDrawable
No reason for it to be a container.
2018-03-15 13:41:06 +09:00
smoogipoo 2a9fb2c2c6 Make NestedHitObjects lazily-constructed 2018-03-05 21:40:26 +09:00
Dean Herbert 4a52df2dd4 Apply review 2018-02-24 23:07:02 +09:00
Dean Herbert 768e0a4e2a Add SkinnableSound class
Tidy things up, move logic out of SampleInfo.
2018-02-24 22:47:14 +09:00
Dean Herbert 6ceabfe19e Add basic hitsound skinning 2018-02-23 13:38:12 +09:00
smoogipoo b77f08941c Make mania play the next note's sounds if no note is hit
Fixes #1911.

This follows what osu!stable does, which is rather unfortunate, since it just plays _every_ sound for the note :|.
2018-01-24 20:05:37 +09:00
Dean Herbert 9b33499fe7 Merge remote-tracking branch 'upstream/master' into RefactorInputQueues 2018-01-16 20:04:34 +09:00
smoogipoo 0ae0dac192 Fix DrawableHitObject not binding nested hitobject events 2018-01-15 20:35:38 +09:00
Aergwyn 8ac6818639 expose IsHit 2018-01-13 16:26:14 +01:00
Aergwyn 7875f0cb01 remove unnecessary internal 2018-01-13 16:15:41 +01:00
Aergwyn 356bb5da1e move sample logic up too 2018-01-13 12:55:52 +01:00
Aergwyn 70fc09f81e move judgement + state logic up to DrawableHitObject 2018-01-13 12:42:42 +01:00
smoogipoo 9d00e5bb7d Make ScrollingHitObjectContainer handle nested hitobjects 2018-01-11 15:08:30 +09:00
smoogipoo 9036ea92eb Run child updates for nested hitobjects when parent hitobjects are masked 2018-01-10 18:29:46 +09:00
smoogipoo 86b5591583 Merge remote-tracking branch 'origin/master' into scrolling-hitobjects-rewrite 2018-01-10 18:02:49 +09:00
TocoToucan ae032cbf23 Support HandleKeyboardInput, HandleMouseInput, CanReceiveKeyboardInput, CanReceiveMouseInput properties 2018-01-07 23:40:00 +03:00
Dean Herbert 37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
smoogipoo f34131f8f4 Initial game-wide replacement of scrolling playfields 2018-01-04 18:50:17 +09:00
Aergwyn ccb69d16d9 move HitResult in Scoring namespace to replace HitCount 2017-12-30 21:23:18 +01:00
Dean Herbert a0966305d4 Remove unnecessary new event 2017-12-30 14:46:44 +09:00
Aergwyn f547c7986d created option to override values before UpdateState is called 2017-12-29 17:50:55 +01:00
Dean Herbert 27cb445c24 Always recrusively apply custom sequence to nested hitobjects 2017-12-29 17:48:05 +09:00
Aergwyn dbcf87267d Merge branch 'master' into standard-hd-support 2017-12-27 21:26:39 +01:00
Aergwyn 4c2554595e implement hidden (mostly)
some things work and others don't, I dunno
2017-12-26 17:25:18 +01:00
smoogipoo 9690591593 Make taiko use namespaced hitsounds
This is a temporary solution for now that uses DrawableHitObject.SampleNamespace for the override. We will not want to do this going forward, and instead have the rulesets add their custom resource stores to the games', but that requires deciding where/when to apply/remove such resource stores, and is probably left to skinning.
2017-12-26 19:55:56 +09:00
smoogipoo 14162b5d46 Make InputDrum handle all Normals/Claps, hitobjects all others 2017-12-26 14:18:23 +09:00
smoogipoo 0fb620a8d3 Make HitObject.Samples non-nullable 2017-12-25 16:41:18 +09:00
smoogipoo 68d76d4380 Fix taiko strong hits not being handled 2017-12-23 20:58:09 +09:00
Dean Herbert aeafa5645a Make Samples null by default and prepopulate in mania 2017-12-23 18:06:46 +09:00
Dean Herbert 2db68df999 Simplify DrawableHitObject's sample load code 2017-12-23 17:20:14 +09:00
Dean Herbert 5026c7a95e SoundControlPoint -> SampleControlPoint 2017-12-23 16:34:34 +09:00
Dean Herbert ff0927e71b Remove unnecessary newline 2017-12-23 16:23:33 +09:00
Dean Herbert 46865bbacd Merge remote-tracking branch 'upstream/master' into taiko-hitsounds-fix
# Conflicts:
#	osu.Game/Audio/SampleInfo.cs
2017-12-23 14:50:35 +09:00
smoogipoo cb7e192aff Determine SampleInfo defaults in DrawableHitObject 2017-12-21 16:02:33 +09:00
smoogipoo a303bf71cf Give control over screen space conversion to DrawableHitObject 2017-12-11 22:19:02 +09:00
smoogipoo b28306d3c0 Fix incorrect SelectionPoint 2017-12-11 18:08:16 +09:00
smoogipoo 4573cc3322 Refactor into a new DragBox class, representing a single drag 2017-12-11 17:45:03 +09:00
FreezyLemon 43c270ea49 Rolled back the bad earlier implementation 2017-12-07 21:18:51 +01:00
smoogipoo cf859a6cf2 Make the dragger attach to objects it surrounds
Plus a lot more implementation.
2017-12-02 00:26:02 +09:00
FreezyLemon bc3f11fdb8 Added PlaysSamples property to prevent certain DrawableHitObjects from playing their samples on hit. Also added this to TaikoObjects so their hitsounds won't be played (will be done by the TaikoRulesetContainer) 2017-11-29 06:24:13 +01:00
smoogipoo ae8407a3f3 Fix nested hitobject judgements not being removed 2017-11-13 14:00:35 +09:00
smoogipoo 66ee9d1631 Update in-line with framework changes 2017-11-09 17:04:04 +09:00
smoogipoo 348083f589 Update with framework state transformation
Removes explicit initial state setting in DrawableOsuHitObjects.
2017-11-09 14:05:05 +09:00