From 7f493f682503f5186308de7b8f74b5b49233cfe4 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Thu, 2 Nov 2023 11:51:31 +0800 Subject: +init --- GameCode/UpgradeCastleUp.cs | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 GameCode/UpgradeCastleUp.cs (limited to 'GameCode/UpgradeCastleUp.cs') diff --git a/GameCode/UpgradeCastleUp.cs b/GameCode/UpgradeCastleUp.cs new file mode 100644 index 0000000..802d0f6 --- /dev/null +++ b/GameCode/UpgradeCastleUp.cs @@ -0,0 +1,46 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class UpgradeCastleUp : MonoBehaviour, DayNightCycle.IDaytimeSensitive +{ + private List mustHaveTags = new List(); + + private List mayNotHaveTags = new List(); + + private List allWallsAndTowers = new List(); + + private void OnEnable() + { + mustHaveTags.Add(TagManager.ETag.WallOrTower); + DayNightCycle.Instance.RegisterDaytimeSensitiveObject(this); + } + + public void OnDusk() + { + } + + public void OnDawn_BeforeSunrise() + { + } + + public void OnDawn_AfterSunrise() + { + StartCoroutine(AfterSunriseDelayed()); + } + + public IEnumerator AfterSunriseDelayed() + { + yield return null; + yield return null; + TagManager.instance.FindAllTaggedObjectsWithTags(allWallsAndTowers, mustHaveTags, mayNotHaveTags); + for (int i = 0; i < allWallsAndTowers.Count; i++) + { + BuildSlot componentInParent = allWallsAndTowers[i].GetComponentInParent(); + if (componentInParent.NextUpgradeOrBuildCost > 1) + { + componentInParent.NextUpgradeOrBuildCost--; + } + } + } +} -- cgit v1.1-26-g67d0