示例#1
0
        internal override void Update(WorldView worldView, float deltaTime)
        {
            var cantMove = MovementCountdownTimeHasExpired() ? MoveStackToNextCell() : MoveStackBetweenCells(deltaTime);
            var canMove  = !cantMove;

            worldView.Camera.LookAtPixel(LocationInWorld);

            if (canMove)
            {
                return;
            }

            if (StackView.StackHasMovementPoints)
            {
                StackView.Select();
            }
            else
            {
                StackView.Unselect();
                StackView.SelectNext();
            }
        }
        internal override void Update(WorldView worldView, float deltaTime)
        {
            var cantMove = MovementCountdownTimeHasExpired() ? MoveStackToNextCell() : MoveStackBetweenCells(deltaTime);
            var canMove  = !cantMove;

            worldView.Camera.LookAtPixel(LocationInWorld);

            if (canMove)
            {
                return;
            }

            if (StackView.StackHasMovementPoints) // either reached final destination or may not move into cell
            {
                SetMovementPathToNewExploreLocation(worldView);
            }
            else // run out of movement points
            {
                StackView.Unselect();
                StackView.SelectNext();
            }
        }