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); }