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