1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 13:27:23 +08:00
Commit Graph

371 Commits

Author SHA1 Message Date
Berkan Diler
9596030e1d Make use of ElementAtOrDefault() when possible 2020-01-31 18:32:47 +01:00
Dan Balasescu
77b1bf3ee2
Merge pull request #7648 from peppy/keyboard-composition-tools
Allow selecting composition tools using 1-4 keys
2020-01-29 17:29:11 +09:00
Dan Balasescu
37c7fe30fa
Merge branch 'master' into keyboard-composition-tools 2020-01-29 16:52:47 +09:00
Dan Balasescu
66b8d38d42
Merge branch 'master' into selection-composition-conformity 2020-01-29 16:52:45 +09:00
Dan Balasescu
65ac412ff8
Merge branch 'master' into fix-beat-snap 2020-01-29 15:32:27 +09:00
Dean Herbert
8e2159e4eb Ensure selection tool correctly matches selection state
- When a selection is made (via the timeline) the selection tool should become the select tool.
- When the selection tool is changed to anything *but* the select tool, the selection should be cleared.
2020-01-28 15:13:12 +09:00
Dean Herbert
7e0c45de6d Allow selecting composition tools using 1-4 keys 2020-01-28 15:09:03 +09:00
Dean Herbert
e81d3c51ed Move select tool to an actual tool implementation
Also tidies up radio button action firing so calling Select actually fires the associated action in all cases.
2020-01-28 15:05:29 +09:00
Dean Herbert
58654f28b6 Fix beat snap implementation being incorrect 2020-01-28 12:48:24 +09:00
smoogipoo
027778acc1 Fix slider circles not being selected by default 2020-01-24 17:51:24 +09:00
Dean Herbert
289be7a17b Merge branch 'i-beat-snapping' into timeline-maybe 2020-01-23 15:45:33 +09:00
Dean Herbert
ccf911884b Remove passed in BaetDivisor 2020-01-23 15:31:56 +09:00
Dean Herbert
098d643955 Move beat snapping to its own interface 2020-01-23 14:39:56 +09:00
Dean Herbert
56c044c44a Move beat snapping to its own interface 2020-01-23 14:30:25 +09:00
Dean Herbert
98aaf38649 Fix playfield movement regressing 2020-01-21 23:58:51 +09:00
Dean Herbert
24a466ab24 Avoid null by calling initial OnDeselected later 2020-01-21 17:36:21 +09:00
Dean Herbert
8f16c1cb04 Add non-hiding selection state 2020-01-21 14:21:00 +09:00
Dean Herbert
bd96cf94a6 Begin refactoring SelectionBlueprint to handle non-drawable HitObjects 2020-01-21 12:47:14 +09:00
smoogipoo
5f178b7755 General refactorings 2020-01-16 11:54:03 +09:00
Dean Herbert
d57f55f053 Apply remaining changes required to restore previous functionality 2020-01-15 19:09:49 +09:00
Dean Herbert
ee332e0d42 Split out BlueprintContainer functionality further 2020-01-02 18:21:16 +09:00
smoogipoo
8c378dc625 Move EditorBeatmap construction/conversion to Editor 2019-12-30 14:51:14 +09:00
smoogipoo
6069d98ced Remove generic editor beatmap 2019-12-27 19:39:30 +09:00
smoogipoo
5861eca80d Make DrawableRuleset take a converted beatmap 2019-12-12 15:58:11 +09:00
Dean Herbert
9f4c8db395 Add xmldoc 2019-12-06 12:17:41 +09:00
Dean Herbert
d8620a70fb Make work in editor 2019-12-05 20:12:25 +09:00
smoogipoo
10fd5ef5a7 Merge context menus 2019-11-12 15:02:27 +09:00
smoogipoo
e924a5d51e Disable ruleset input in the editor 2019-11-11 13:04:43 +09:00
smoogipoo
f3ddc4c00b Advance editor clock after a snapped placement 2019-11-07 14:08:02 +09:00
smoogipoo
64d900b387 Disable input for non-selected blueprints 2019-11-05 11:33:37 +09:00
smoogipoo
41ae66d517 Update slider when control points change 2019-10-31 18:24:38 +09:00
smoogipoo
9f28b1905b Expose composer method to update hitobject 2019-10-31 18:15:19 +09:00
Dan Balasescu
3692846367
Merge branch 'master' into snapping-refactor 2019-10-25 18:26:14 +09:00
smoogipoo
4ca6a5a0cc Interface the distance snap provider 2019-10-25 16:50:21 +09:00
smoogipoo
607b4d874a Refactor flow of snapping through HitObjectComposer 2019-10-25 16:40:30 +09:00
Dean Herbert
fa3350ce2d
Refactor blueprint movement and selection events (#6588)
Refactor blueprint movement and selection events
2019-10-24 22:58:03 +09:00
smoogipoo
d83b9ef0e4 Rename grid snapping methods 2019-10-24 18:18:04 +09:00
smoogipoo
f45f17339c Implement slider path distance snapping 2019-10-24 18:17:30 +09:00
smoogipoo
e04c77178c Move selection events to BlueprintContainer 2019-10-24 14:58:02 +09:00
smoogipoo
714c89faa4 Move selection drag events to BlueprintContainer 2019-10-24 14:57:58 +09:00
smoogipoo
c03fa01fd9 Remove unnecessary set 2019-10-23 17:51:16 +09:00
smoogipoo
2c9b11cdfd Move variable outside of if block 2019-10-23 17:49:21 +09:00
smoogipoo
64682611bb Fix distance snapping grid not updating on scroll 2019-10-23 16:39:14 +09:00
Dean Herbert
e3fa5f1da3
Merge branch 'master' into beatsnap-grid-integration 2019-10-21 18:44:34 +09:00
Dean Herbert
b157aaead1 Merge remote-tracking branch 'upstream/master' into beatsnap-grid-integration 2019-10-21 17:09:43 +09:00
smoogipoo
38c2c328ff Rename HitObject -> DrawableObject in selection blueprints 2019-10-21 17:04:56 +09:00
smoogipoo
190a83da6e Refresh the grid after a placement 2019-10-18 19:04:08 +09:00
Dean Herbert
07286c0cfc Fix editor's clock not being processed unless composer is loaded 2019-10-18 18:21:53 +09:00
smoogipoo
31313ec9e1 Fix potential nullref 2019-10-18 17:56:31 +09:00
smoogipoo
f1d7e7e7f6 Merge branch 'placement-blueprint-starttime' into beatsnap-grid-integration 2019-10-18 13:49:09 +09:00
smoogipoo
463079e148 Implement placement snapping 2019-10-18 13:48:59 +09:00
smoogipoo
cb301a4661 Improve performance of intra-frame updates/deletions 2019-10-18 13:18:57 +09:00
smoogipoo
b047e05d86 Fix bad variable names 2019-10-18 13:18:16 +09:00
smoogipoo
ba4402207a Implement selection time snapping 2019-10-18 12:53:38 +09:00
smoogipoo
1dc7c59853 Implement selection position snapping 2019-10-18 12:53:27 +09:00
smoogipoo
c4704f6a29 Add beat snap grid to the composer 2019-10-18 12:47:52 +09:00
smoogipoo
d3e38f5e5a Make the editor beatmap protected 2019-10-18 12:40:31 +09:00
smoogipoo
79b2c7b480 Make BeginPlacement() set the hitobject start time 2019-10-16 20:04:15 +09:00
smoogipoo
c1db11fa06 More removal of "drag" 2019-10-08 19:24:58 +09:00
smoogipoo
08d043f447 Move selection relative to the hitobject start positions 2019-10-08 18:57:03 +09:00
Dean Herbert
6fce646369
Merge branch 'master' into placement-blueprint-movement 2019-10-04 19:05:56 +08:00
smoogipoo
652acac87f Move placement movement event to BlueprintContainer 2019-10-03 16:14:42 +09:00
smoogipoo
2c13043c42 Hook up the event to HitObjectComposer 2019-10-03 14:40:00 +09:00
smoogipoo
6ab2b20c70 Add an interface for working beatmaps 2019-08-29 19:38:44 +09:00
smoogipoo
714ee312da Rename DrawableEditRuleset -> DrawableEditRulesetWrapper 2019-08-29 18:20:43 +09:00
smoogipoo
87e28ab1f9 Remove non-generic DrawableEditRuleset 2019-08-29 18:12:29 +09:00
smoogipoo
59296d12f3 Refactor HitObjectComposer 2019-08-29 18:02:50 +09:00
smoogipoo
0fbdcabb6f Re-use a single beatmap processor 2019-08-29 17:21:52 +09:00
smoogipoo
b40143cb73 Remove unnecessary comment 2019-08-29 17:18:34 +09:00
smoogipoo
dad0fa2dca Bind disposal 2019-08-29 16:31:40 +09:00
smoogipoo
5db813b7a4 Add secondary interface for further abstraction 2019-08-29 16:26:39 +09:00
smoogipoo
7927b684d3 Hook up + use editor beatmap 2019-08-29 16:06:40 +09:00
smoogipoo
6949c96aaa Add initial EditorBeatmap structure 2019-08-29 15:17:27 +09:00
smoogipoo
8c67f58e2d Disable frame-stable playback in the editor 2019-08-15 18:25:31 +09:00
Arphox
07e17518e9 Fix all "Maintainability" CodeFactor issues 2019-06-11 10:28:16 +02:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
smoogipoo
0222424aef Make mods IReadOnlyList<Mod> gamewide
Prevents potential multiple evaluations of enumerable.
2019-04-10 17:20:36 +09:00
smoogipoo
c584967eb1 Remove mods from workingbeatmap 2019-04-09 12:59:32 +09:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
6896ec7731 Remove unnecessary method 2019-04-01 10:39:55 +09:00
Dean Herbert
42eaabe24c Fix editor blueprints being misplaced
Regressed with PlayfieldAdjustmentContainer changes.
2019-03-31 01:29:37 +09:00
Dean Herbert
9bf48863b0 Fix DrawableRuleset drawable creation method's name 2019-03-25 00:00:29 +09:00
Dean Herbert
5f288650bf Fix misses/typos 2019-03-20 14:49:33 +09:00
Dean Herbert
3b7a76aa4e Fix typo 2019-03-20 11:22:34 +09:00
Dean Herbert
e0ab40b082 Rename missed files 2019-03-19 23:56:12 +09:00
Dean Herbert
baea7230bc Rename RulesetContainer to DrawableRuleset 2019-03-19 23:47:31 +09:00
Dean Herbert
26d53d06a9 Fix remaining issues 2019-02-28 13:31:40 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
Dean Herbert
ca5c8d37d1 Use leased bindables 2019-02-01 16:44:06 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert
5254b07680 Merge remote-tracking branch 'upstream/master' into inter-column-movements 2018-11-30 11:57:53 +09:00
Dean Herbert
7ffc597a8e Fix one-frame issues 2018-11-29 14:55:20 +09:00
Dean Herbert
3d46ac7d35 Remove unnecessary high frequency input 2018-11-29 13:21:11 +09:00
smoogipoo
f9f300b215 Fix drag breaking if scrolling while dragging 2018-11-26 16:08:56 +09:00
Dean Herbert
4cfeb1b9a1
Merge branch 'master' into note-placement 2018-11-26 14:35:31 +09:00
Dean Herbert
c944e8bb29
Merge branch 'master' into fix-deletion-crash 2018-11-26 14:20:02 +09:00
smoogipoo
56032a4522 Merge branch 'mania-selection-movement' into inter-column-movements
# Conflicts:
#	osu.Game.Rulesets.Mania/Edit/Blueprints/ManiaSelectionBlueprint.cs
#	osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs
2018-11-26 11:45:48 +09:00
Dean Herbert
1da2006dea
Merge branch 'master' into note-placement 2018-11-22 19:44:39 +09:00
smoogipoo
dc8cd51e15 Implement mania note deletion 2018-11-20 17:26:00 +09:00
smoogipoo
f27bd3ef3e OpenTK -> osuTK 2018-11-20 17:14:59 +09:00
smoogipoo
d5b937f88f Fix post-merge issue 2018-11-19 19:17:03 +09:00
Dan Balasescu
8cee4141e8
Merge branch 'master' into note-placement 2018-11-19 19:08:53 +09:00
smoogipoo
55edeb095d SelectionBox -> SelectionHandler 2018-11-19 16:58:11 +09:00
smoogipoo
4cbda97b1e Move positional adjustment to SelectionBox 2018-11-16 17:12:24 +09:00
smoogipoo
df7515b66f Pass all selected hitobjects to the selection blueprints 2018-11-15 21:01:09 +09:00
smoogipoo
d5464702fa Fix post-merge issue 2018-11-15 20:56:34 +09:00
smoogipoo
eddba44d0f Merge branch 'note-placement' into inter-column-movements 2018-11-15 20:53:57 +09:00
smoogipoo
c963fc7cd2 Reduce chaining 2018-11-14 18:34:13 +09:00
smoogipoo
6d43baf4bf Make show/hide only invoked once each 2018-11-13 13:12:11 +09:00
smoogipoo
fbc20d2d4d Hide placement when cursor is not in the playfield 2018-11-13 12:52:04 +09:00
smoogipoo
3a1fee59fb Implement note placement 2018-11-12 18:24:18 +09:00
Dean Herbert
4783df1d4b Fix compose mode not working 2018-11-09 11:36:06 +09:00
smoogipoo
c6350c6efd Remove IHasEditablePosition 2018-11-08 13:03:11 +09:00
smoogipoo
5d51719572 Make selection blueprints handle position adjustments 2018-11-07 16:21:32 +09:00
smoogipoo
52f4923c8e Remove intermediate Screens namespace 2018-11-06 18:28:22 +09:00
smoogipoo
ac25718c5a Renamespace compose-mode components 2018-11-06 18:14:46 +09:00
smoogipoo
27d82052f4 BorderLayer -> EditorPlayfieldBorder 2018-11-06 18:10:46 +09:00
smoogipoo
85f96ad62f Fix a few missed renames 2018-11-06 18:07:53 +09:00
smoogipoo
bd775af274 PlacementMask -> PlacementBlueprint 2018-11-06 18:04:03 +09:00
smoogipoo
11be820efe CreateMaskFor -> CreateBlueprintFor 2018-11-06 18:03:21 +09:00
smoogipoo
90c813618a Merge PlacementContainer into BlueprintContainer 2018-11-06 18:02:55 +09:00
smoogipoo
f2a5f28ea2 SelectionMask -> SelectionBlueprint 2018-11-06 17:56:04 +09:00
smoogipoo
ad2836a61e MaskSelection -> SelectionBox 2018-11-06 17:52:47 +09:00
smoogipoo
26c9390c16 HitObjectMaskLayer -> BlueprintContainer 2018-11-06 17:36:10 +09:00
Dean Herbert
85a7325911 Fix placement masks handling scroll events 2018-10-31 17:23:27 +09:00
Dean Herbert
3207a585c6 Add missing xmldoc 2018-10-31 12:01:10 +09:00
smoogipoo
2b141a2bc1 Make PlacementMask abstract 2018-10-25 19:10:59 +09:00
smoogipoo
ea6db8b793 Make the hitobject masks move within their placement/selection 2018-10-25 18:16:25 +09:00
smoogipoo
0e841628b6 Implement hitobject deletion 2018-10-18 16:36:06 +09:00
smoogipoo
5a5e91eaed Add a way to re-invoke ApplyDefaults on placement object 2018-10-17 18:36:47 +09:00
smoogipoo
b7435c0c5f Fix border layer not working 2018-10-17 18:29:30 +09:00
smoogipoo
6eb7a030d0 Fix placement container not being refreshed upon placement 2018-10-17 18:11:44 +09:00
smoogipoo
d36ac59ca2 Reduce complexity of creating edit ruleset containers 2018-10-17 18:06:00 +09:00
smoogipoo
969477dadd Remove placement events, make everything pass top-down 2018-10-17 17:43:16 +09:00
smoogipoo
62635c5ab8 Add container to handle placement mask 2018-10-17 16:17:49 +09:00
smoogipoo
4ea4ec0d25 Move placement handling events to a higher level 2018-10-17 15:46:30 +09:00
smoogipoo
08e3fe1def Add PlacementStarted event, rename placement methods 2018-10-17 14:37:45 +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
e931aa3d9e Move positional modifications to HitCirclePlacementMask 2018-10-04 13:43:50 +09:00
smoogipoo
7809ce9361 Fix 1-frame position discrepancy 2018-10-03 17:05:22 +09:00
smoogipoo
934b687965 Fix selection masks not being added for new objects 2018-10-03 16:49:59 +09:00
smoogipoo
34ed60830c Keep the placement hitobject time up-to-date 2018-10-03 16:44:37 +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
4cdb6dcea5 Rename HitObjectMask -> SelectionMask 2018-10-03 13:28:00 +09:00
ekrctb
50091252e2 Adapt signature change of event handlers 2018-10-02 12:02:55 +09:00