public static EnemyBulletScript Create(Transform _parent, Consts.MoveDirection _moveDirection)
    {
        GameObject        pre    = Resources.Load("Prefabs/Game/EnemyBullet", typeof(GameObject)) as GameObject;
        GameObject        bullet = GameObject.Instantiate(pre, BgScript.s_instance.map);
        EnemyBulletScript script = bullet.GetComponent <EnemyBulletScript>();

        script.setData(_parent, _moveDirection);
        return(script);
    }
Exemple #2
0
    public static TurretScript Create(Transform parent, Consts.MoveDirection _direction)
    {
        GameObject   pre    = Resources.Load("Prefabs/Game/EnemyDrone", typeof(GameObject)) as GameObject;
        GameObject   bullet = GameObject.Instantiate(pre, parent);
        TurretScript script = bullet.GetComponent <TurretScript>();

        script.direction = _direction;
        return(script);
    }
Exemple #3
0
 public void setMoveDirection(Consts.MoveDirection _moveDirection)
 {
     moveDirection = _moveDirection;
     if (moveDirection == Consts.MoveDirection.left)
     {
         transform.localScale = new Vector3(-playerScale, playerScale, playerScale);
     }
     else if (moveDirection == Consts.MoveDirection.right)
     {
         transform.localScale = new Vector3(playerScale, playerScale, playerScale);
     }
 }
Exemple #4
0
    public void setDirection(Consts.MoveDirection _direction)
    {
        float moveToX = 0;

        direction = _direction;
        if (_direction == Consts.MoveDirection.left)
        {
            transform.localScale = new Vector3(1, 1, 1);
            blood_bg_img.transform.localScale = new Vector3(1, 1, 1);
            moveToX = transform.localPosition.x - 200;
        }
        else if (_direction == Consts.MoveDirection.right)
        {
            transform.localScale = new Vector3(-1, 1, 1);
            blood_bg_img.transform.localScale = new Vector3(-1, 1, 1);
            moveToX = transform.localPosition.x + 200;
        }

        tweener = self_img.rectTransform.DOAnchorPosX(moveToX, 3.0f, false).SetEase(Ease.Linear).SetDelay(1.0f);
    }
Exemple #5
0
    void inputCallBack(InputControl.KeyBoard key)
    {
        switch (key)
        {
        // 跳跃、进入爬梯子状态
        case InputControl.KeyBoard.Down_W:
        {
            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, Consts.PlayerState.climb))
            {
                Transform ladder = RoadScript.s_instance.checkLadder(transform.localPosition);
                if (ladder)
                {
                    if (playerState == Consts.PlayerState.idle)
                    {
                        if ((ladder.position.y + 50) > transform.position.y)
                        {
                            // transform.position = new Vector3(ladder.position.x, transform.position.y, 0);
                            setState(Consts.PlayerState.climb);
                            break;
                        }
                    }
                }
            }

            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, Consts.PlayerState.jump))
            {
                if (playerState == Consts.PlayerState.crouch)
                {
                    setState(Consts.PlayerState.idle);
                }
                else
                {
                    if (curJumpCount < jumpComboCount)
                    {
                        setState(Consts.PlayerState.jump);
                    }
                }
            }

            break;
        }

        // 向上爬梯子
        case InputControl.KeyBoard.Keep_W:
        {
            if (playerState == Consts.PlayerState.climb)
            {
                changePlayerPos(0, climbSpeed);
                Transform ladder = RoadScript.s_instance.checkLadder(transform.localPosition);
                if (!ladder)
                {
                    setState(Consts.PlayerState.idle);
                }
            }

            break;
        }

        // 暂停向上爬梯子
        case InputControl.KeyBoard.Up_W:
        {
            if (playerState == Consts.PlayerState.climb)
            {
                FrameAnimationUtil.getInstance().stopAnimation(self_img);
            }
            break;
        }

        // 左右移动
        case InputControl.KeyBoard.Keep_A:
        case InputControl.KeyBoard.Keep_D:
        {
            Consts.MoveDirection direction    = key == InputControl.KeyBoard.Keep_A ? Consts.MoveDirection.left : Consts.MoveDirection.right;
            Consts.PlayerState   _playerState = key == InputControl.KeyBoard.Keep_A ? Consts.PlayerState.run_left : Consts.PlayerState.run_right;

            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, _playerState))
            {
                if (playerState == Consts.PlayerState.jump)
                {
                    setMoveDirection(direction);
                    move(false);
                }
                else if (playerState == Consts.PlayerState.drop)
                {
                    setMoveDirection(direction);
                    move(false);
                }
                else if (playerState == Consts.PlayerState.crouch)
                {
                    setMoveDirection(direction);
                    //move(false);
                }
                else
                {
                    setState(_playerState);
                }
            }

            break;
        }

        // 停止左右移动
        case InputControl.KeyBoard.Up_A:
        case InputControl.KeyBoard.Up_D:
        {
            Consts.PlayerState _playerState = key == InputControl.KeyBoard.Up_A ? Consts.PlayerState.run_left : Consts.PlayerState.run_right;

            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, Consts.PlayerState.idle))
            {
                if (playerState == _playerState)
                {
                    setState(Consts.PlayerState.idle);
                }
            }

            break;
        }

        // 蹲下、进入爬梯子状态
        case InputControl.KeyBoard.Down_S:
        {
            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, Consts.PlayerState.climb))
            {
                Transform ladder = RoadScript.s_instance.checkLadder(transform.localPosition);
                if (ladder)
                {
                    if (playerState == Consts.PlayerState.idle)
                    {
                        if ((ladder.position.y + 50) < transform.position.y)
                        {
                            // transform.position = new Vector3(ladder.position.x, transform.position.y, 0);
                            setState(Consts.PlayerState.climb);
                            break;
                        }
                    }
                }
            }

            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, Consts.PlayerState.crouch))
            {
                setState(Consts.PlayerState.crouch);
            }

            break;
        }

        // 往下爬梯子
        case InputControl.KeyBoard.Keep_S:
        {
            if (playerState == Consts.PlayerState.climb)
            {
                changePlayerPos(0, -climbSpeed);
                Transform ladder = RoadScript.s_instance.checkLadder(transform.localPosition);
                if (!ladder)
                {
                    setState(Consts.PlayerState.idle);
                }
            }
            break;
        }

        // 暂停向下爬梯子
        case InputControl.KeyBoard.Up_S:
        {
            if (playerState == Consts.PlayerState.climb)
            {
                FrameAnimationUtil.getInstance().stopAnimation(self_img);
            }
            break;
        }

        // 闪现
        case InputControl.KeyBoard.Down_N:
        {
            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, Consts.PlayerState.sprint))
            {
                setState(Consts.PlayerState.sprint);
            }

            break;
        }

        // 射击
        case InputControl.KeyBoard.Down_M:
        {
            if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, Consts.PlayerState.shoot))
            {
                switch (playerState)
                {
                case Consts.PlayerState.jump:
                case Consts.PlayerState.drop:
                case Consts.PlayerState.crouch:
                {
                    BulletScript.Create(transform.parent, moveDirection);
                    break;
                }

                default:
                {
                    setState(Consts.PlayerState.shoot);
                    break;
                }
                }
            }

            break;
        }
        }
    }
Exemple #6
0
    void inputCallBack(Consts.PlayerState _playerState)
    {
        if (PlayerStateChangeEntity.getInstance().checkIsCanChange(playerState, _playerState))
        {
            switch (_playerState)
            {
            // 静止
            case Consts.PlayerState.idle:
            {
                setState(Consts.PlayerState.idle);
                break;
            }

            // 跳跃
            case Consts.PlayerState.jump:
            {
                if (playerState == Consts.PlayerState.crouch)
                {
                    setState(Consts.PlayerState.idle);
                }
                else
                {
                    setState(Consts.PlayerState.jump);
                }
                break;
            }

            // 左移、右移
            case Consts.PlayerState.run_left:
            case Consts.PlayerState.run_right:
            {
                Consts.MoveDirection direction = _playerState == Consts.PlayerState.run_left ? Consts.MoveDirection.left : Consts.MoveDirection.right;
                if (playerState == Consts.PlayerState.jump)
                {
                    setMoveDirection(direction);
                    move(false);
                }
                else if (playerState == Consts.PlayerState.drop)
                {
                    setMoveDirection(direction);
                    move(false);
                }
                else if (playerState == Consts.PlayerState.crouch)
                {
                    // setMoveDirection(direction);

                    // 蹲下时只移动方向,不进行位移
                    // move(false);

                    setState(_playerState);
                }
                else
                {
                    setState(_playerState);
                }
                break;
            }

            // 蹲下
            case Consts.PlayerState.crouch:
            {
                setState(Consts.PlayerState.crouch);
                break;
            }

            // 开枪
            case Consts.PlayerState.shoot:
            {
                switch (playerState)
                {
                case Consts.PlayerState.jump:
                case Consts.PlayerState.drop:
                case Consts.PlayerState.crouch:
                {
                    BulletScript.Create(transform.parent, moveDirection);
                    break;
                }

                default:
                {
                    setState(Consts.PlayerState.shoot);
                    break;
                }
                }

                break;
            }

            // 闪现
            case Consts.PlayerState.sprint:
            {
                setState(Consts.PlayerState.sprint);
                break;
            }

            // 降落
            case Consts.PlayerState.drop:
            {
                setState(Consts.PlayerState.drop);
                break;
            }

            // 停止左移
            case Consts.PlayerState.stop_run_left:
            {
                if (playerState == Consts.PlayerState.run_left)
                {
                    setState(Consts.PlayerState.idle);
                }
                break;
            }

            // 停止右移
            case Consts.PlayerState.stop_run_right:
            {
                if (playerState == Consts.PlayerState.run_right)
                {
                    setState(Consts.PlayerState.idle);
                }
                break;
            }
            }
        }
    }
 public void setData(Transform _parent, Consts.MoveDirection _moveDirection)
 {
     moveDirection = _moveDirection;
     parent        = _parent;
 }