public static void NewTower(UnitTower tower) { if (tower.IsSupport()) { List <UnitTower> allTowerList = TowerManager.GetActiveTowerList(); for (int i = 0; i < allTowerList.Count; i++) { if (allTowerList[i].IsSupport()) { continue; } if (allTowerList[i] == tower) { continue; } float dist = Vector3.Distance(allTowerList[i].GetPos(), tower.GetPos()); if (dist < tower.GetAttackRange()) { tower.SupportBuffTower(allTowerList[i]); } } } else { List <UnitTower> supportTowerList = TowerManager.GetSupportTowerList(); for (int i = 0; i < supportTowerList.Count; i++) { float dist = Vector3.Distance(supportTowerList[i].GetPos(), tower.GetPos()); if (dist < supportTowerList[i].GetAttackRange()) { supportTowerList[i].SupportBuffTower(tower); } } } }