sprite.LayerSetVisible(DisposalUnitVisualLayers.Unanchored, state == DisposalUnitComponent.VisualState.UnAnchored);
sprite.LayerSetVisible(DisposalUnitVisualLayers.Base, state == DisposalUnitComponent.VisualState.Anchored);
- sprite.LayerSetVisible(DisposalUnitVisualLayers.OverlayFlush, state is DisposalUnitComponent.VisualState.OverlayFlushing or DisposalUnitComponent.VisualState.OverlayCharging);
+ sprite.LayerSetVisible(DisposalUnitVisualLayers.OverlayFlush, state == DisposalUnitComponent.VisualState.OverlayFlushing);
+ sprite.LayerSetVisible(DisposalUnitVisualLayers.BaseCharging, state == DisposalUnitComponent.VisualState.OverlayCharging);
var chargingState = sprite.LayerMapTryGet(DisposalUnitVisualLayers.BaseCharging, out var chargingLayer)
? sprite.LayerGetState(chargingLayer)
{
// Play the flush animation
new AnimationTrackSpriteFlick.KeyFrame(flushState, 0),
- // Return to base state (though, depending on how the unit is
- // configured we might get an appearance change event telling
- // us to go to charging state)
- new AnimationTrackSpriteFlick.KeyFrame(chargingState, (float) ent.Comp.FlushDelay.TotalSeconds)
}
},
}
_animationSystem.Play(ent, anim, AnimationKey);
}
}
- else if (state == DisposalUnitComponent.VisualState.OverlayCharging)
- sprite.LayerSetState(DisposalUnitVisualLayers.OverlayFlush, chargingState);
else
_animationSystem.Stop(ent.Owner, AnimationKey);
map: [ "enum.DisposalUnitVisualLayers.Unanchored" ]
- state: disposal
map: [ "enum.DisposalUnitVisualLayers.Base" ]
+ - state: disposal-charging
+ map: [ "enum.DisposalUnitVisualLayers.BaseCharging" ]
- state: disposal-flush
map: [ "enum.DisposalUnitVisualLayers.OverlayFlush" ]
- state: dispover-charge