1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-16 13:42:56 +08:00
osu-lazer/osu.Game/Rulesets
Dean Herbert ee33f62809 Fix DrawableJudgement not always animating correctly on skin change
If the skin is changed before gameplay has started (at the loading
screen) it is possible for a sequence of events to occur which results
in the animation not being played:

- `SkinReloadableDrawable` runs its BDL load (and calls `OnSkinChanged`
  once)
- User changes skin, triggering `DrawableJudgement`'s skin change
  handling (binding directly on the `SkinSource` locally)
- This will call `PrepareDrawables` and reinitialise the
  `SkinnableDrawable` child hierarchy, then immediately apply the
animations to it.
- The new `SkinnableDrawable` will then get the `SkinChanged` event and
  schedule a handler for it, which will run on its first Update call.
- Any added animations will be lost as a result.

Fixed by binding directly to the `SkinnableDrawable`'s `OnSkinChanged`.
This has the added bonus of not needing to reinitialise the child
hierarchy on skin change (which felt a bit weird in the first place).
2020-11-24 15:23:53 +09:00
..
Configuration Constrain configuration lookup as enum. 2019-12-09 17:45:26 +08:00
Difficulty Merge branch 'master' into fix-mania-diffcalc 2020-10-14 23:49:14 +09:00
Edit Add pooling support to the editor 2020-11-13 17:08:20 +09:00
Judgements Fix DrawableJudgement not always animating correctly on skin change 2020-11-24 15:23:53 +09:00
Mods Reduce duplication by extracting ModEasyWithExtraLives 2020-11-16 19:54:00 +01:00
Objects Add comment covering intentional call to ClearTransformsAfter 2020-11-23 15:20:59 +09:00
Replays Merge branch 'master' into spectator-replay-watcher 2020-11-02 14:54:51 +09:00
Scoring Always store standardised score when populating ScoreInfo 2020-11-10 08:41:00 +01:00
Timing Centralise default beat length specification 2019-08-28 20:22:16 +09:00
UI Remove ability to pool DHOs in parent playfields 2020-11-16 23:30:24 +09:00
ILegacyRuleset.cs Remove LegacyID from Ruleset 2019-12-24 13:48:27 +09:00
Ruleset.cs Add missing generic mappings to legacy mods 2020-11-15 15:35:06 +01:00
RulesetConfigCache.cs Suppress warnings 2019-11-12 13:41:54 +09:00
RulesetInfo.cs Update class exclusion for dynamic compilation 2020-09-04 20:41:08 +09:00
RulesetSelector.cs General refactoring 2019-06-26 17:52:25 +09:00
RulesetStore.cs Replace with local tolist 2020-10-16 23:40:44 +09:00