Ejemplo n.º 1
0
    private void Update()
    {
        if (playerRefManager.health.isDead)
        {
            return;
        }

        RecieveInput();

        if (pause)
        {
            pauseMenu.SetActive(true);
            Time.timeScale = 0;
        }
        else
        {
            if (pauseMenu.activeSelf)
            {
                Time.timeScale = 1;
                pauseMenu.SetActive(false);
            }

            AbilityInput();
            playerMovement.RecieveInput(moveX, moveY, lookX, lookY);

            if (!toggleRadialMenu)
            {
                cameraController.RecieveInput(lookY);
            }

            if (interact)
            {
                toggleAbilityDisplayArea = !toggleAbilityDisplayArea;
                abilityDisplayArea.gameObject.SetActive(toggleAbilityDisplayArea);
                abilityDisplayArea.EnableAbilityDisplay();

                if (abilityDisplayArea.gameObject.activeInHierarchy)
                {
                    abilityDisplayArea.Initialize(AbilityManager.instance.equippedAbilities, AbilityManager.instance.movementAbility);
                }
            }

            if (toggleView)
            {
                playerRefManager.SwitchView();
                cameraController.SwitchView();
            }

            if (toggleRadialMenu)
            {
                canShoot = false;
                hud.SetActive(false);
                radialMenu.gameObject.SetActive(true);
                Time.timeScale = radialMenuTimeScale;
            }
            else
            {
                canShoot = true;
                hud.SetActive(true);
                radialMenu.gameObject.SetActive(false);
                Time.timeScale = 1;
            }

            if (jump)
            {
                playerMovement.Jump();
            }
        }

        if (pause || toggleAbilityDisplayArea)
        {
            if (!Cursor.visible)
            {
                Cursor.lockState = CursorLockMode.None;
                Cursor.visible   = true;
            }
        }
        else if (toggleRadialMenu)
        {
            if (!Cursor.visible)
            {
#if UNITY_EDITOR
                Cursor.lockState = CursorLockMode.None;
#else
                Cursor.lockState = CursorLockMode.Confined;
#endif
                Cursor.visible = false;
            }
        }
        else if (!pause && !toggleRadialMenu)
        {
            if (Cursor.visible)
            {
                Cursor.lockState = CursorLockMode.Locked;
                Cursor.visible   = false;
            }
        }
    }