public IMovement CreateMovement() { AutoMoveTowardsTarget mover = new AutoMoveTowardsTarget(_travellingData, PointableElement); mover.WhenAborted += HandleAborted; return(mover); }
private void LateUpdate() { for (int i = _movers.Count - 1; i >= 0; i--) { AutoMoveTowardsTarget mover = _movers[i]; if (mover.Aborting) { mover.Tick(); if (mover.Stopped) { _movers.Remove(mover); } } } }
private void HandleAborted(AutoMoveTowardsTarget mover) { mover.WhenAborted -= HandleAborted; _movers.Add(mover); }