Commit Graph

80 Commits

Author SHA1 Message Date
Salman Ahmed 310b4d90cc Move `SHEAR` constant to `OsuGame` and revert back to 0.2x (i.e. master)
Discussed in [discord](https://discord.com/channels/188630481301012481/188630652340404224/1240490608934653984).
2024-05-16 07:28:02 +03:00
Bartłomiej Dach f7626aba18
Fix mod select overlay columns not displaying properly sometimes
Closes https://github.com/ppy/osu/issues/26504.

As far as I can tell the issue is basically another manifestation of
https://github.com/ppy/osu-framework/issues/5129, i.e. presence
overrides causing dropped invalidations and thus completely bogus
hierarchy state. The fix is to raise the appropriate invalidation
manually.
2024-04-23 13:36:12 +02:00
Andrei Zavatski 3b53ed3c3a Reduce allocations in ModColumn 2024-02-24 22:44:58 +03:00
Bartłomiej Dach 4c78144d10
Remove obvious comment 2023-06-18 14:04:00 +02:00
Bartłomiej Dach 64e96c6d82
Fix duplicate linq and reword comment 2023-06-18 14:03:26 +02:00
Bartłomiej Dach 62f01e4f40
Rename `ModState` members to better convey what's what 2023-06-18 13:58:25 +02:00
Cootz aece548db1
Merge branch 'master' into add-mod-search-option 2023-06-12 13:09:09 +03:00
Cootz 502193e1c6 Use debounce constant for select/deselect animation 2023-06-10 13:55:37 +03:00
Cootz 7697dbe4b3 Mod panel don't play sound when hidden 2023-06-09 16:55:19 +03:00
Cootz 4c7cca101e Rename `IsValid` to `Visible` 2023-06-02 11:33:38 +03:00
Cootz 22c6d6c526 Prevent checkbox from toggle on when column have no valid panels 2023-05-29 14:22:40 +03:00
Cootz 60bad35145 Remove weird update usage when 'deselect all' pressed 2023-05-07 15:34:01 +03:00
Cootz a226caff56 Fix testing 2023-05-06 11:09:44 +03:00
Cootz 7422b5285c Fix wrong filtering in testing 2023-05-05 22:41:30 +03:00
Cootz 54757df51f Fix mod deselect button not working properly when search applied 2023-05-05 09:31:27 +03:00
Cootz a6ca049739 Manually implement @bdach prototype 2023-05-02 14:15:33 +03:00
Dan Balasescu 7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
Bartłomiej Dach 3d14b14cfe
Use alternative method for checking panel readiness to eliminate bool flag 2022-08-17 21:56:11 +02:00
Bartłomiej Dach f860bc11ee
Fix several schedule-related issues arising from new column addition 2022-08-15 20:38:16 +02:00
Bartłomiej Dach f21a51aa24
Simplify mirror copy of task logic in `ModColumn` 2022-08-08 19:20:50 +02:00
Bartłomiej Dach b2f8934117
Extract base mod select column presentation logic 2022-07-24 16:39:03 +02:00
Bartłomiej Dach f3ceabc53f
Rename `ModSelect{Overlay -> }Panel` 2022-07-22 19:17:22 +02:00
Bartłomiej Dach 6cd18fad99
Fix code inspections after base panel class extraction 2022-07-21 23:29:08 +02:00
Dean Herbert f71f6302fd Remove unnecessary `null` casts 2022-06-24 14:50:11 +09:00
Bartłomiej Dach 7013909322
Remove unnecessary `protected virtual` 2022-06-21 16:43:04 +02:00
Bartłomiej Dach da1814e7c3
Restructure everything to fix free mod overlay issue 2022-06-21 14:48:41 +02:00
Bartłomiej Dach 234120ff43
Forward entire event to `IModHotkeyHandler`
Required for shift handling in the classic implementation.
2022-06-21 13:37:17 +02:00
Bartłomiej Dach 658f5341c7
Set up flow for switching between hotkey styles 2022-06-21 13:34:58 +02:00
Bartłomiej Dach 73124d2b1f
Encapsulate mod hotkey selection logic in strategy pattern 2022-06-21 12:49:01 +02:00
Dan Balasescu f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Joseph Madamba ed0b841df0 Fix incorrect left/right clicking area of mod panels 2022-05-23 18:29:26 -07:00
Bartłomiej Dach 2266a5c9a0
Remove no-longer-necessary `ModColumn.Filter` 2022-05-11 22:31:26 +02:00
Bartłomiej Dach 1c0166367d
Fix remaining column operations being coupled to drawables 2022-05-11 22:31:26 +02:00
Bartłomiej Dach b5a9f1310a
Fix select/deselect all toggle not working correctly after changes 2022-05-11 22:31:26 +02:00
Bartłomiej Dach 52bbce12f1
Fix not being able to set `AvailableMods` before loaded 2022-05-11 22:31:26 +02:00
Bartłomiej Dach 11ae1da65a
Hoist reference replacement logic to overlay level 2022-05-11 22:26:47 +02:00
Bartłomiej Dach 05a21fbbe0
Hoist `ModState` to overlay level 2022-05-11 22:26:21 +02:00
Bartłomiej Dach e86444c4bf
Hoist `ModState` to column level 2022-05-11 22:03:49 +02:00
Bartłomiej Dach 76c63f1d0a
Rename `ModSelect{Screen -> Overlay}` in place of removed old design 2022-05-10 22:56:50 +02:00
Bartłomiej Dach 6bdcf893b7
Move alpha management closer to screen level
Felt bad messing with alpha at the column level.
2022-05-08 15:40:10 +02:00
Bartłomiej Dach 92ccec20d7
Hide mod columns if all mods within are filtered out 2022-05-08 14:53:59 +02:00
Dean Herbert 1d27ef18dc Add xmldoc for `IsValidMod` 2022-05-08 01:49:29 +09:00
Bartłomiej Dach 0c2b4a6c0b
Fix invalid `IsLoaded` check
Would fail when `availableMods` would be changed from a different thread
while the columns aren't loaded.
2022-05-07 15:44:22 +02:00
Bartłomiej Dach fe69bd7ed9
Merge branch 'master' into change-mod-scroll-behaviour 2022-05-07 13:29:02 +02:00
Salman Ahmed 8ee3fdd0aa Change mod scrolling behaviour to not scroll horizontally on columns/settings 2022-05-07 12:15:11 +03:00
Bartłomiej Dach f761d4d4d4
Reuse "select/deselect all" localisable string on column toggle 2022-05-07 10:56:03 +02:00
Bartłomiej Dach 18e4c3ed0f
Update mod columns even if they're not present/offscreen
Important to make "select/deselect all" operations work on all columns
simultaneously, even if they're offscreen. Unfortunately by the nature
of how the existing selection animation works, it is hard-tied to the
update loop, so we need to compensate.
2022-05-07 09:50:09 +02:00
Bartłomiej Dach 9514a5cef7
Only load panels asynchronously outside of BDL 2022-05-07 09:50:09 +02:00
Bartłomiej Dach 9f96dd47d1
Remove schedule in panel load
It was causing selection/deselection of all mods to work improperly if a
select/deselect all operation was requested before the panel was
scrolled into view.

In general the schedule was an over-optimisation - the game-global set
of available mods shouldn't be changing so often as to warrant such an
aggressive debounce.
2022-05-07 09:50:09 +02:00
Bartłomiej Dach 621f746789
Do not modify selected mods through panel state change during external update 2022-05-06 21:47:04 +02:00