Commit Graph

57 Commits

Author SHA1 Message Date
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
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
10b5900710 made PathControlPointVisualiser generic 2022-12-07 10:13:40 +01:00
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
b0a3c9152a Enable snapping for slider control points in the editor 2022-09-19 21:33:38 +02:00
f1d9b225a7 Remove probably pointless comment 2022-09-05 16:40:10 +09:00
8af8adf22d Fix incorrect slider length in timeline when non-default velocity is inherited from previous object 2022-09-05 16:17:26 +09:00
06ae30a7d2 Fix slider velocity not using previous value if slider is not adjacent 2022-07-19 22:54:11 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
977e6d8a80 Add xmldoc for IDistanceSnapProvider and related properties 2022-05-05 16:25:45 +09:00
59cf3ff50f Move distancing methods from IPositionSnapProvider to IDistanceSnapProvider 2022-04-28 05:48:45 +03:00
19467e58c1 Remove unused params from BDL methods 2022-01-15 01:06:39 +01:00
2114a4729c Set a sane default for new slider blueprints 2021-09-14 18:28:27 +09:00
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
6dcd9427ac Remove bindable usage in PathControlPoint
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.

I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
ec1c336b0a Fix a couple of inspections 2021-04-27 13:23:14 +09:00
d38e294d96 Centralise length validation function 2021-04-16 15:45:24 +09:00
965a1ead36 Disallow zero-length slider blueprint placements 2021-04-16 14:38:30 +09:00
5c0ef55691 Rename SliderPlacementState to make way for more generic version 2021-04-16 14:09:35 +09:00
067178e537 Maintain path type when dragging/placing 2021-03-22 15:59:06 +01:00
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
a9a1c00cf1 Move responsibility placement blueprint's StartTime set to within 2020-05-21 14:50:33 +09:00
82d6549161 Pass down snap result and remove local TimeAt usage 2020-05-20 21:01:29 +09:00
8d5732aabd Make placements happen on mouse down 2020-04-23 12:17:11 +09:00
2c20328a70 Rework control point placement for better progression 2020-04-13 15:31:46 +09:00
e17d5bdbaf Improve red slider control point placement logic 2020-04-13 13:57:40 +09:00
0fe41fd50a Fix blueprint showing even when mouse outside of container 2020-02-13 09:03:48 +09:00
e31d69c749 Add commit status to EndPlacement; call BeginPlacement on initial movement 2020-02-07 18:02:48 +09:00
bfb056c612 Apply input method signature refactorings 2020-01-20 18:17:21 +09:00
c457571da6 Use index and range expressions 2019-12-15 20:17:35 +08:00
f593caf0ea Remove unused class 2019-12-10 18:08:51 +09:00
2dbf94f3ab Make placement blueprint add an initial segment 2019-12-09 18:10:40 +09:00
53f7c753fb General cleanups 2019-12-09 16:44:19 +09:00
4905709ea4 Remove unused usings 2019-12-09 13:19:21 +09:00
41437242a2 Add initial path type progression support 2019-12-06 19:39:25 +09:00
b4e1b5fa98 Explose + use the full calculated length of the path 2019-12-06 15:53:19 +09:00
a89a23fe08 Use linq to simplify some expressions 2019-12-06 13:08:35 +09:00
247609388f Clean up unused/unnecessary properties 2019-12-06 12:31:22 +09:00
3ebbf62b2a Initial game-wide update with the new SliderPath 2019-12-05 19:53:36 +09:00
bcf8a6d514 Fix slider creation regressing with path selection changes 2019-11-03 19:59:37 +09:00
607b4d874a Refactor flow of snapping through HitObjectComposer 2019-10-25 16:40:30 +09:00
a6458fdeab Re-use slider type 2019-10-24 19:04:24 +09:00
b7af4acdbf Allow not having a composer 2019-10-24 19:04:00 +09:00
0af5706db6 Snap path during control point movement 2019-10-24 19:02:59 +09:00
f45f17339c Implement slider path distance snapping 2019-10-24 18:17:30 +09:00
436941cda3 Add comment 2019-10-23 17:58:44 +09:00
b903edca45 Don't snap slider control point placement 2019-10-23 16:03:16 +09:00
79b2c7b480 Make BeginPlacement() set the hitobject start time 2019-10-16 20:04:15 +09:00
179cde917b Merge branch 'master' into rework-selection-updates 2019-10-06 15:00:56 +08:00
652acac87f Move placement movement event to BlueprintContainer 2019-10-03 16:14:42 +09:00