using AcDream.App.World;
namespace AcDream.App.Rendering;
/// Routes retail PartArray world-entry boundaries to live animation owners.
internal sealed class LiveEntityPartArrayLifecycle
{
private readonly LiveEntityAnimationRuntimeView _animations;
public LiveEntityPartArrayLifecycle(
LiveEntityAnimationRuntimeView animations) =>
_animations = animations ?? throw new ArgumentNullException(nameof(animations));
public void HandleEnterWorld(uint localEntityId)
{
if (_animations.TryGetValue(localEntityId, out LiveEntityAnimationState? animation))
animation.Sequencer?.Manager.HandleEnterWorld();
}
}