コード例 #1
0
        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);
                    }
                }
            }
        }