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(); } }