Commit Graph

2004 Commits

Author SHA1 Message Date
2346644c04 Switch DelayedLoadUnloadWrappers to DelayedLoadWrappers
Due to pooling usage, there is no time we need to unload. Switching to
DelayedLoadWrapper cleans up the code and reduces overhead
substantially.
2020-10-13 18:47:40 +09:00
a1801f8ae4 Unmark todo for now 2020-10-13 18:47:36 +09:00
40a0ab7aaa Avoid allocating CarouselItems for bounds checks 2020-10-13 18:33:31 +09:00
4f4f222514 Remove unnecessary fade (already applied by base DrawableCarouselItem) 2020-10-13 18:28:28 +09:00
83358d487f Remove logging 2020-10-13 18:18:22 +09:00
3d9ea852ec Remove masking override (no longer needed as our size is now correct) 2020-10-13 18:14:23 +09:00
69650c16fc Simplify vertical position calculations by including spacing in height definition 2020-10-13 18:13:36 +09:00
b1ddb08a4e Fix right click context menus appearing in incorrect locations 2020-10-13 18:01:12 +09:00
d9a6a6b245 Split content out into own class 2020-10-13 18:01:12 +09:00
9b2ebb8f0f Fix main content DelayedLoadUnloadWrapper not getting a valid size before load 2020-10-13 17:45:41 +09:00
f3b937e358 Fix masking issues with certain aspect ratio displays 2020-10-13 17:37:33 +09:00
fdd4d95cdc Fix difficulties being at incorrect vertical positions after filter is applied 2020-10-13 17:37:33 +09:00
1f0aa974dd Fix failing tests 2020-10-13 17:37:33 +09:00
b536f571fd Move header height propagation to update for safety 2020-10-13 17:37:33 +09:00
ded09b78cb Avoid usage of AutoSize for DrawableCarouselItems in general 2020-10-13 17:37:33 +09:00
cecdf14f53 Avoid reconstructing beatmap difficulties that were recently displayed 2020-10-13 17:37:33 +09:00
1da49073ab Calculate content height automatically 2020-10-13 17:37:33 +09:00
c08b5e8d03 Align beatmap difficulties correctly 2020-10-13 17:37:33 +09:00
cfec4f4fc1 Extract header element from base DrawableCarouselItem class 2020-10-13 17:37:33 +09:00
2aad482545 Fix x offsets of difficulties not being updated 2020-10-13 17:37:33 +09:00
1b7e3397c6 Use expiry to avoid ToArray 2020-10-13 17:37:33 +09:00
075bf23714 Better track off-screen drawables (and return to pool less often) 2020-10-13 17:37:33 +09:00
29983afcef Replace pool/cleanup logic with simplest form possible
This will temporarily break panels that go off-screen, as they will
disappear immediately
2020-10-13 17:37:33 +09:00
06e84c8eb3 Add comments and split out update steps into a more logical flow 2020-10-13 17:37:33 +09:00
20b54fb904 Move transform clean-up to pooling free call 2020-10-13 17:37:33 +09:00
f6aa448523 Store y positions inside items rather than in a separate array 2020-10-13 17:37:33 +09:00
b92c22ad42 Add logging 2020-10-13 17:37:33 +09:00
9814e9ba7f Split classes out to reduce loc burder on DrawableCarouselBeatmapSet 2020-10-13 17:37:33 +09:00
975cd5a840 Add back beatmap difficulty appear/disappear movement 2020-10-13 17:37:33 +09:00
fd8654cff3 Add back difficulty panel spacing 2020-10-13 17:37:33 +09:00
ce67f65084 Fix single results not showing up 2020-10-13 17:37:33 +09:00
220c8ba2c4 Fix incorrect vertical offsets when difficulties are filtered away 2020-10-13 17:37:33 +09:00
82f9ca3de9 Bind to filter event changes in base drawable item 2020-10-13 17:37:33 +09:00
813ee19728 Use existing event flow for rendering beatmap difficulties 2020-10-13 17:37:33 +09:00
8847cedf29 Add initial pass of vertical transforms 2020-10-13 17:37:33 +09:00
15325f5f51 Base bounds checks on +1 (to avoid worrying about current item heights) 2020-10-13 17:37:33 +09:00
bb03c5d77c Temporarily disable masking temporarily to fix panels disappearing at extents 2020-10-13 17:37:33 +09:00
524419d5e4 Fix filtered items being considered for height calculation 2020-10-13 17:37:33 +09:00
0a144a1388 Correctly free panels after use to avoid finalizer disposal of subtree 2020-10-13 17:37:33 +09:00
c5a6f4b453 Fix scroll to selected beatmap 2020-10-13 17:37:33 +09:00
5c29aa8cce Fix multiple difficulties being expanded at once 2020-10-13 17:37:33 +09:00
5c2f134665 Add back left offset for selected set 2020-10-13 17:37:33 +09:00
3cfc0dc82d Add safeties to beatmap panel loading code 2020-10-13 17:37:33 +09:00
954d43ef56 Debounce state application events 2020-10-13 17:37:33 +09:00
ca1f5dcada Add back panel padding 2020-10-13 17:37:33 +09:00
0400b34349 Load more components asynchronously after pool resolution 2020-10-13 17:37:33 +09:00
f3b24b9bb5 Avoid performing eager selection constantly on adding ranges of new children 2020-10-13 17:37:33 +09:00
0a978c6131 Add basic pooling setup 2020-10-13 17:37:33 +09:00
f17d661c1a Add basic range-based invalidation 2020-10-13 17:37:33 +09:00
3143224e5b Refactor how drawable carousel items are constructed 2020-10-13 17:37:33 +09:00