namespace AcDream.App.World; /// /// Strongly typed retail PartArray world-entry boundary. /// /// /// CPhysicsObj::set_hidden @ 0x00514C60 invokes /// CPartArray::HandleEnterWorld @ 0x00517D70 on both Hidden edges. /// This dedicated port prevents that mandatory lifecycle callback from being /// confused with neighboring presentation callbacks. /// public sealed class LiveEntityPartArrayEnterWorldPort { private readonly Action _handleEnterWorld; public LiveEntityPartArrayEnterWorldPort(Action handleEnterWorld) => _handleEnterWorld = handleEnterWorld ?? throw new ArgumentNullException(nameof(handleEnterWorld)); public void HandleEnterWorld(uint localEntityId) => _handleEnterWorld(localEntityId); }