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
Bartłomiej Dach
c199b8fcb6
Simplify state management in ModColumn
...
Bad sign when you can't follow your own code.
All of the various state changing methods were flattened into one
because it was too hard to follow what was calling what and why.
2022-05-06 21:46:16 +02:00