Пример #1
0
    public void Pause()
    {
        isGamePaused = !isGamePaused;

        if (isGamePaused)
        {
            if (canvas.activeSelf == false)
            {
                canvas.SetActive(true);
                SetPauseChildCanvasesState(true);
                StartCoroutine(PauseWaitTime());
                timeManager.SetGameState(true);
                CursorManager.SetAndStoreCursor("default", Vector2.zero, CursorMode.Auto);
                Time.timeScale = pauseTimeScale;

                SetButtonHighlights();

                foreach (GameObject enemy in GameObject.FindGameObjectsWithTag("Enemy"))
                {
                    enemy.GetComponent <EnemyStats>().SetDefaultShader();
                }
            }
        }
        else
        {
            StartCoroutine(PauseWaitTime());
            SetPauseChildCanvasesState(false);
            canvas.SetActive(false);
            Time.timeScale = runningTimeScale;
            timeManager.SetGameState(false);
            timeManager.SetTimeScaleAndDuration(0.1f, 0.3f, 0.5f, TimeManager.ScaleTimeTypes.FlatAndScaled);
        }
    }
    IEnumerator Loading()
    {
        while (loading)
        {
            percentText.text = (loadAsync.progress * 100).ToString() + "%";
            //Debug.Log(loadAsync.progress * 100);
            if ((unloadAsync == null || unloadAsync.isDone) && loadAsync.isDone)
            {
                percentText.text = "";
                unloadAsync      = null;
                loadAsync        = null;

                FadeIn();

                SceneManager.SetActiveScene(SceneManager.GetSceneByBuildIndex(sceneToLoad));
                UpdateSceneState();
                if (inputManager != null)
                {
                    inputManager.SetScripts();
                    inputManager.ResetStaticVariables();
                }

                CursorManager.SetAndStoreCursor("default", Vector2.zero, CursorMode.Auto);

                loading = false;
            }
            yield return(null);
        }
    }
    private void OnMouseOver()
    {
        if (pauseGameplay.isGamePaused || leverState == LeverStates.Used)
        {
            return;
        }

        if (!playerBehaviour.isBeingAttacked && leverState == LeverStates.Unused)
        {
            if (Vector3.Distance(playerBehaviour.transform.position, transform.position) < 7)
            {
                if (CursorManager.GetCurrentCursorTextureName() != "interact")
                {
                    CursorManager.SetAndStoreCursor("interact", Vector2.zero, CursorMode.Auto);
                }

                if (Input.GetButtonDown("Interact"))
                {
                    doorBehaviour.OpenDoor();
                    leverState = LeverStates.Used;
                    leverAnimator.SetInteger("leverState", (int)leverState);
                    Cursor.SetCursor(null, Vector2.zero, CursorMode.Auto);

                    foreach (Renderer renderer in GetComponentsInChildren <Renderer>())
                    {
                        renderer.material.shader = standardShader;
                    }
                }
            }
        }
    }
    private void OnMouseExit()
    {
        enemyHealthBar.DisableEnemyHealthBar();
        CursorManager.SetAndStoreCursor("default", Vector2.zero, CursorMode.Auto);

        if (!isPlayersTarget)
        {
            SetShader("default");
            isOutlineFromMouseOver = false;
        }
    }
    private void OnMouseOver()
    {
        if (pauseGameplay.isGamePaused || enemyBehaviour.playerIsDead)
        {
            return;
        }

        enemyHealthBar.DrawEnemyHealthBar(maxLife, life, enemyType.ToString());
        if (CursorManager.GetCurrentCursorTextureName() != "attack")
        {
            CursorManager.SetAndStoreCursor("attack", Vector2.zero, CursorMode.Auto);

            if (currentShader != "outline" && !isPlayersTarget)
            {
                SetShader("outline");
            }

            isOutlineFromMouseOver = true;
        }
    }
 private void OnMouseExit()
 {
     CursorManager.SetAndStoreCursor("default", Vector2.zero, CursorMode.Auto);
 }