1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 03:12:54 +08:00
Commit Graph

12 Commits

Author SHA1 Message Date
ekrctb
117e94bc94 Allow setting Entry of PoolableDrawableWithLifetime
It is more convenient than using the constructor because the only limited kind of expression is allowed in a base constructor call.
Also, the object initializer syntax can be used.
2021-06-16 16:00:08 +09:00
ekrctb
40949f6c1b Simplify lifetime setter
Setting entry lifetime will cause `LifetimeChanged` event and `base.LifetimeStart`/`End` will be modified in the callback.
2021-06-01 14:46:43 +09:00
ekrctb
0f381f7758 Fix wrong code 2021-06-01 14:38:02 +09:00
ekrctb
86020adf64 Revert invalid code transformation 2021-06-01 14:28:23 +09:00
ekrctb
d5714e63b9 Apply code styling suggestions
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-06-01 13:17:30 +09:00
ekrctb
e25cca6fbe Update drawable lifetime on entry lifetime change 2021-05-31 14:45:29 +09:00
ekrctb
0489ae719d Don't couple PoolableDrawableWithLifetime lifetime with its entry
It turns out the incompatibility with `LifetimeManagementContainer` causes more issues than anticipated.
2021-05-20 14:56:15 +09:00
ekrctb
aa42cf2fc0 Fix setting lifetime during KeepAlive is ignored 2021-05-04 16:56:48 +09:00
ekrctb
36438175a0 Throw an exception if try to modify lifetime of PoolableDrawableWithLifetime without lifetime 2021-05-04 16:04:58 +09:00
ekrctb
5aa522b1c2 Completely delegate DHO lifetime to Entry lifetime
A downside is lifetime update is not caught by LifetimeManagementContainer if used.
2021-04-29 14:38:01 +09:00
ekrctb
d262956146 Always use LifetimeEntry to manage hit objects in HitObjectContainer
Previously, non-pooled DHOs were immediately added as children of the HOC when Add is called. Also, non-pooled DHOs were always attached to the HOC as children.
New behavior is that non-pooled DHOs are only added after CheckChildLifetime, and only attached to the HOC while the DHOs are alive.

- LifetimeManagementContainer inheritance of HOC is removed, as it is now all DHOs are "unmanaged" (previously `AddInternal(false)`).
- The signature of `Clear` is changed, and it is now always not disposing the children immediately.
2021-04-29 14:38:01 +09:00
ekrctb
6561a7c7d6 Rename DrawableObject -> PoolableDrawableWithLifetime 2021-04-26 12:06:21 +09:00