private static void CheckPogTower(PogTower pt) { if (pt.PogList.Count == pt.PogCount) { return; } if (pt.PogCount < pt.PogList.Count) { int diff = pt.PogList.Count - pt.PogCount; for (int i = 0; i < diff; i++) { DestroyPog(pt); } } else { int diff = pt.PogCount - pt.PogList.Count; for (int i = 0; i < diff; i++) { CreatePog(pt); } } pt.InitTower(); }
private static void CreatePog(PogTower pt) { GameObject pogObject = (GameObject)PrefabUtility .InstantiatePrefab(PogManager.Instance.PogSettings.PogPrefab); Pog pog = pogObject.GetComponent <Pog>(); pog.transform.SetParent(pt.transform); pt.AddPog(pog); }
private static void DestroyPog(PogTower pt) { if (pt.PogList.Count == 0) { return; } Pog pog = pt.PogList[pt.PogList.Count - 1]; pt.RemovePog(pog); GameObject.DestroyImmediate(pog.gameObject); }
private static void OnPogCountUpdated(PogTower pt) { CheckPogTower(pt); }