Commit Graph

884 Commits

Author SHA1 Message Date
b8a5cd94f7 Invoke HitObjectUsageFinished before removal 2020-11-24 19:46:57 +09:00
e34a205104 Rewrite hit object management, take three 2020-11-24 18:56:05 +09:00
7f6e4d5b21 Delay lifetime computation until loaded 2020-11-24 18:56:05 +09:00
d5f082e5fb Comment about lifetime assumption 2020-11-24 18:56:05 +09:00
ce57e8ddfb Separate Lifetime computation and layout update 2020-11-24 18:56:05 +09:00
cabc8aa63b Revert "Simplify ScrollingHitObjectContainer logic"
This reverts commit b4cc39149c117e6a0e95ee917a67cec8ba723d06.
2020-11-24 18:56:05 +09:00
8f39b54e58 Simplify ScrollingHitObjectContainer logic 2020-11-24 18:56:05 +09:00
5c743adbae Support hit object pooling scrolling playfield 2020-11-24 18:56:05 +09:00
666112cb5a Address @bdach's minor suggestions 2020-11-22 18:51:16 +09:00
4345d8dcb6 Event -> virtual method 2020-11-21 15:20:33 +09:00
281ed49332 Add HasInitialized to DHO
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
772f6df668 Add a remark for DrawableHitObjectAdded 2020-11-20 18:00:00 +09:00
c013cd11c9 Add DrawableHitObjectAdded event 2020-11-20 17:56:47 +09:00
7180bfe4ba Unlimit number of samples per pool 2020-11-19 21:21:57 +09:00
f013928fa3 Set maximum pool size 2020-11-19 20:40:01 +09:00
8920534a25 Fix pools not being added to hierarchy 2020-11-19 20:24:03 +09:00
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
e8dbc190f1 Remove ability to pool DHOs in parent playfields 2020-11-16 23:30:24 +09:00
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
21b015d63a Remove explicit public 2020-11-14 01:06:38 +09:00
c71b237c4f Merge all pooling support into Playfield 2020-11-14 00:59:08 +09:00
36f1833f6e Move hitobject pooling to Playfield 2020-11-14 00:41:18 +09:00
d83b479c81 Internalise lifetime extensions and events too 2020-11-13 19:21:45 +09:00
4a4219fd11 Add region 2020-11-13 19:21:45 +09:00
92189e35cc Make playfield KeepAlive methods internal 2020-11-13 19:21:45 +09:00
688a442fb3 Add missing dictionary 2020-11-13 17:26:46 +09:00
942ecde0e1 Merge branch 'master' into pooling-editor-support 2020-11-13 17:23:35 +09:00
4236dd826d Improve documentation and make abstract again 2020-11-13 14:57:09 +09:00
a07d4a7915 Remove unnecessary dictionary for now 2020-11-13 14:42:41 +09:00
8aaa500431 Add lifetime extensions 2020-11-12 18:34:50 +09:00
243e913e4a Add hitobject usage events 2020-11-12 18:32:20 +09:00
fe347c8661 Add playfield support for keeping hitobjects alive 2020-11-12 18:30:32 +09:00
e44a8b3934 Resort as early as possible 2020-11-12 17:07:20 +09:00
cf91962865 Fix test failures due to on-the-fly starttime changes 2020-11-12 16:58:40 +09:00
974390bda7 Make Add() + Remove() virtual 2020-11-12 15:36:02 +09:00
72a6b75626 Add back removed event 2020-11-12 15:34:51 +09:00
4e43235955 Fix double bind leading to test failures 2020-11-12 15:33:49 +09:00
653f5bce67 Reword xmldocs 2020-11-12 15:00:58 +09:00
16e4e8d032 Fix possible nullref 2020-11-12 14:54:33 +09:00
1f8d376b85 Replace CreatePool() with non-virtual RegisterPool() overload 2020-11-12 14:17:33 +09:00
5dbbe11fc6 Remove PoolHitObjects, use return value of CreateDrawableRepresentation() instead 2020-11-12 14:04:16 +09:00
f652eb9982 Remove GetDrawableRepresentation() override, add null hinting 2020-11-12 13:18:44 +09:00
d7d77460fb Small refactorings 2020-11-12 12:55:42 +09:00
a8929b0764 Revert unnecessary change of casting 2020-11-11 19:27:07 +09:00
7fdaf69903 Add some more xmldocs 2020-11-11 19:12:12 +09:00
7d02018134 Remove some unnecessary implementations for now 2020-11-11 18:54:40 +09:00
d7bee80d4e Merge branch 'fix-incorrect-framestability-value' into hitobject-pooling-base 2020-11-11 18:52:51 +09:00
90499329bd Fix frame stable playback not being set correctly 2020-11-11 18:50:38 +09:00
99e5450af3 Cache DrawableRuleset 2020-11-11 00:22:36 +09:00