protected override void OnAwake() { base.OnAwake(); positionTransform = Entity.Components.GetComponent <IPositionTransform>().AssertNotNull(); presenceSceneProvider = Entity.Components.GetComponent <IPresenceSceneProvider>().AssertNotNull(); var presenceSceneChangesNotifier = Entity.Components.GetComponent <IPresenceSceneChangesNotifier>().AssertNotNull(); presenceSceneChangesNotifier.SceneChanged += OnSceneChanged; var executor = presenceSceneProvider.GetScene().Components.GetComponent <ISceneOrderExecutor>().AssertNotNull(); updatePosition = executor.GetPreUpdateExecutor().StartCoroutine(UpdatePosition()); }
protected override void OnAwake() { base.OnAwake(); positionTransform = Components.GetComponent <IPositionTransform>().AssertNotNull(); directionTransform = Components.GetComponent <IDirectionTransform>().AssertNotNull(); SubscribeToPositionChanged(); SubscribeToCollisionEnter(); var presenceSceneProvider = Components.GetComponent <IPresenceSceneProvider>().AssertNotNull(); var executor = presenceSceneProvider.GetScene().Components.GetComponent <ISceneOrderExecutor>().AssertNotNull(); executor.GetPreUpdateExecutor().StartCoroutine(MoveMob()); }
public UpdatePositionOperationHandler(IPositionTransform positionTransform, IDirectionTransform directionTransform) { this.positionTransform = positionTransform; this.directionTransform = directionTransform; }