Beispiel #1
0
    private void Pause()
    {
        pause          = true;
        Time.timeScale = 0;

        if (isWin && ToolBox.GetManagersInterface(out IScoreCounter scoreCounter) && endScore != null)
        {
            endScore.text = "Score: " + scoreCounter.Score + "\nBest : " + RecordsCollector.CheckRecord(scoreCounter.Score, PlayerPrefs.GetString("LastLevel"));
        }

        Events.GamePause.Publish(pause);
    }
Beispiel #2
0
    public void OpenLevelPanel(SceneSettings loadSettings)
    {
        this.loadSettings = loadSettings;

        godsName.text           = loadSettings.GodsName;
        portrait.sprite         = loadSettings.PortraitSprite;
        ratioFilter.aspectRatio = loadSettings.PortraitSprite.rect.width / loadSettings.PortraitSprite.rect.height;
        challengeRecord.text    = RecordsCollector.GetRecord(loadSettings.name).Score.ToString();

        foreach (Transform child in altDescriptionImages)
        {
            Destroy(child.gameObject);
        }

        if (loadSettings.DescriptionImages == null || loadSettings.DescriptionImages.Length == 0)
        {
            description.gameObject.SetActive(true);
            altDescription.gameObject.SetActive(false);
            description.text = loadSettings.Description;
        }
        else
        {
            description.gameObject.SetActive(false);
            altDescription.gameObject.SetActive(true);
            altDescriptionText.text = loadSettings.Description;

            foreach (Sprite sprite in loadSettings.DescriptionImages)
            {
                GameObject obj = new GameObject();
                obj.transform.SetParent(altDescriptionImages);

                Image image = obj.AddComponent <Image>();
                image.sprite = sprite;

                AspectRatioFitter filter = obj.AddComponent <AspectRatioFitter>();
                filter.aspectMode  = AspectRatioFitter.AspectMode.HeightControlsWidth;
                filter.aspectRatio = 1;

                obj.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1);
            }
        }

        levelPanel.SetActive(!levelPanel.activeSelf);
    }
Beispiel #3
0
    private void OnGameWon()
    {
        if (ToolBox.GetData(out SceneData sceneData))
        {
            if (sceneData.CanvasAnimator != null)
            {
                sceneData.CanvasAnimator.SetTrigger("Win");
                isWinAnimation = true;
            }

            sceneData.PauseText.text = "Win!";

            if (gameResult != null)
            {
                gameResult.text = "You beat " + sceneData.GodsName;
            }

            if (ToolBox.GetManagersInterface(out IScoreCounter scoreCounter) && endScore != null)
            {
                endScore.text = "Score: " + scoreCounter.Score + "\nBest : " + RecordsCollector.CheckRecord(scoreCounter.Score, PlayerPrefs.GetString("LastLevel"));
            }
        }

        Sound.PlayClip((AudioClip)Resources.Load("Sound/Win", typeof(AudioClip)));

        int lastLevel = PlayerPrefs.GetInt("LastChallenge");
        int openLevel = PlayerPrefs.GetInt("OpenChallenge");

        if (openLevel > lastLevel)
        {
            PlayerPrefs.SetInt("LastChallenge", openLevel);
            PlayerPrefs.Save();
        }

        isGameEnd = true;
        isWin     = true;
    }
Beispiel #4
0
    private void GameLose()
    {
        if (ToolBox.GetData(out SceneData sceneData))
        {
            if (!isWin)
            {
                sceneData.PauseText.text = "Lose...";

                if (SceneManager.GetActiveScene().name != "Endless" && gameResult != null)
                {
                    gameResult.text = sceneData.GodsName + " turned out to be stronger";
                }
            }

            if (ToolBox.GetManagersInterface(out IScoreCounter scoreCounter) && endScore != null)
            {
                endScore.text = "Score: " + scoreCounter.Score + "\nBest : " + RecordsCollector.CheckRecord(scoreCounter.Score, PlayerPrefs.GetString("LastLevel"));
            }
        }

        Sound.PlayClip((AudioClip)Resources.Load("Sound/Lose", typeof(AudioClip)));

        isGameEnd = true;
    }
Beispiel #5
0
    private void SetRecord()
    {
        GameResult loadedRecord = RecordsCollector.GetRecord("Endless");

        record.text = loadedRecord.Score.ToString();
    }