예제 #1
0
    private void Update()
    {
        if (WaterValue < 0)
        {
            WaterValue = 0;
        }
        // Holes
        if (holes.Count == 0)
        {
            CurrentLevel.FinishLevel();
        }
        else
        {
            HoleIndicator.rectTransform.sizeDelta = new Vector2(maxWaterIndicatorSize * holes.Count / numHoles, WaterIndicator.rectTransform.sizeDelta.y);
            HoleCountIndicator.text = holes.Count.ToString();
        }
        // Rain
        if (!raining)
        {
            rainingCount += Time.deltaTime;
            if (rainingCount >= SecondsTillRain)
            {
                raining = true;
                RainIndicators.ForEach(a => a.SetActive(true));
                rainingCount = SecondsTillRain;
            }
            RainIndicator.rectTransform.sizeDelta = new Vector2(maxWaterIndicatorSize * rainingCount / SecondsTillRain, WaterIndicator.rectTransform.sizeDelta.y);
            RainCountIndicator.text = Mathf.RoundToInt(SecondsTillRain - rainingCount).ToString();
        }
        // Treasure
        TreasureIndicator.rectTransform.sizeDelta = new Vector2(maxWaterIndicatorSize * (1 - (float)DeadTreasures / TreasureAmount), WaterIndicator.rectTransform.sizeDelta.y);
        TreasureCountIndicator.text = (TreasureAmount - DeadTreasures).ToString();
        // Water
        WaterValue += Time.deltaTime * GetTrueRiseRate();
        WaterIndicator.rectTransform.sizeDelta = new Vector2(maxWaterIndicatorSize * WaterValue / MaxWaterValue, WaterIndicator.rectTransform.sizeDelta.y);
        if (WaterValue >= MaxWaterValue)
        {
            SceneManager.LoadScene("Lose");
        }
        WaterObject.WaterHeight = WaterValue;
        int levelStage = Mathf.FloorToInt(3 * WaterValue / MaxWaterValue) + 1;

        CrossfadeMusicPlayer.Instance.Play("Level" + levelStage, true);
    }