コード例 #1
0
    public void step()
    {
        if (cameraState != CameraMoveState.NotMoving)
        {
            cameraMoving = true;
            switch (cameraState)
            {
            case CameraMoveState.MoveOut:
                if (currentNode.previous != null)
                {
                    currentNode = currentNode.previous;
                }
                if (areX_AtRoot(currentNode))
                {
                    cameraState = CameraMoveState.MoveVertically;
                }
                break;

            case CameraMoveState.MoveVertically:

                if (currentNode.nodeYIndex > endNode.nodeYIndex)
                {
                    currentNode = levels[currentNode.nodeYIndex - 1];
                }
                else if (currentNode.nodeYIndex < endNode.nodeYIndex)
                {
                    currentNode = levels[currentNode.nodeYIndex + 1];
                }

                if (areYsEqual(currentNode, endNode))
                {
                    cameraState = CameraMoveState.MoveIn;
                }


                break;

            case CameraMoveState.MoveIn:

                if (currentNode.next != null)
                {
                    currentNode = currentNode.next;
                }

                if (areXsEquals(currentNode, endNode))
                {
                    cameraState = CameraMoveState.NotMoving;
                }


                break;
            }


            if (areNodesEqual(currentNode, endNode))
            {
                cameraState = CameraMoveState.NotMoving;
            }
        }
    }
コード例 #2
0
 private void Awake()
 {
     _moveState           = gameObject.AddComponent <CameraMoveState>();
     _objectSelectedState = gameObject.AddComponent <CameraObjectSelectedState>();
     _playerState         = gameObject.AddComponent <CameraPlayerState>();
     _state = _moveState;
 }
コード例 #3
0
    public void gotoTarget()
    {
        onDeparture();

        if (areYsEqual(currentNode, endNode) && currentNode.nodeXIndex < endNode.nodeXIndex)
        {
            cameraState = CameraMoveState.MoveIn;
        }
        else
        {
            cameraState = CameraMoveState.MoveOut;
        }


        move();
    }
コード例 #4
0
    private void Awake()
    {
        if (!instance)
        {
            instance = this;
        }
        else
        {
            Destroy(gameObject);
        }

        cameraState = CameraMoveState.NotMoving;

        for (int i = 0; i < levels.Count; i++)
        {
            levels[i].nodeYIndex = i;
        }

        defaultNode = levels[0];
    }
コード例 #5
0
ファイル: CameraFollow.cs プロジェクト: Raindropgame/Ev_game
 public void changeMoveState(CameraMoveState t, float axis)
 {
     moveState = t;
     this.axis = axis;
 }
コード例 #6
0
 public void setCameraState(CameraMoveState state)
 {
     myState = state;
 }