Esempio n. 1
0
 public void ResetShootAndMovement()
 {
     sailState = 0f;
     barrelCoolDown = 0f;
     currentShootInputState = ShootInputState.Idle;
     shotPowerLeft = leftSide.transform.childCount;
     shotPowerRight = rightSide.transform.childCount;
     frozen = false;
 }
Esempio n. 2
0
    /// <summary>
    /// shooting input handling
    /// </summary>
    /// <param name="m"></param>
    /// <param name="dir"></param>
    private void HandleShootInput(OnlinePlayerInput.PlayerControlMessage m, Vector3 dir)
    {
        if (playerRespawn.IsDead || frozen)
            return;

        if (currentProjIndex == 2)
        {
            if (m == OnlinePlayerInput.PlayerControlMessage.SHOOT_START_HOLD_DOWN && currentShootInputState == ShootInputState.Idle)
            {
                currentShootInputState = ShootInputState.Ready;
                return;
            }
            if (m == OnlinePlayerInput.PlayerControlMessage.SHOOT_RELEASE && currentShootInputState == ShootInputState.Ready)
            {
                currentShootInputState = ShootInputState.Idle;
                Shoot(null, 0f);
            }
        }
        else
        {
            if (m == OnlinePlayerInput.PlayerControlMessage.SHOOT_START_HOLD_DOWN && currentShootInputState == ShootInputState.Idle)
            {
                currentShootInputState = ShootInputState.Ready;

                return;
            }
            if (m == OnlinePlayerInput.PlayerControlMessage.SHOOT_RELEASE && currentShootInputState == ShootInputState.Ready)
            {
                currentShootInputState = ShootInputState.Idle;

                activeSide = (Vector3.Dot(dir, leftSide.forward) > 0f) ? leftSide : rightSide;
                activeCannons = activeSide.GetComponent<CannonGroup>();

                if (activeSide == leftSide)
                {
                    Shoot(leftSide, shotPowerLeft);
                    shotPowerLeft = 0f;
                }
                else
                {
                    Shoot(rightSide, shotPowerRight);
                    shotPowerRight = 0f;
                }

                return;
            }
        }

        if (m == OnlinePlayerInput.PlayerControlMessage.CANCEL_START_HOLD && currentShootInputState == ShootInputState.Ready)
        {
            currentShootInputState = ShootInputState.Idle;
            return;
        }
    }