///////////////////////////////////////////////////////////////////////////// /// Function: SpawnPowerUp ///////////////////////////////////////////////////////////////////////////// public static void SpawnPowerUp(CPowerUp.EItemType eType) { foreach (GameObject goObject in m_liSpawnPoints) { CSpawner cSpawner = goObject.GetComponent <CSpawner>(); if (cSpawner.SpawnerType != ESpawnerType.TYPE_POWERUPS) { continue; } if (cSpawner.Team == IAIBase.ETeam.TEAM_NONE && true == cSpawner.CanSpawn) { List <GameObject> liPowerUps = ItemsResource.Items; foreach (GameObject goPowerUp in liPowerUps) { CPowerUp cPowerUp = goPowerUp.GetComponent <CPowerUp>(); if (cPowerUp.ItemType == eType) { cSpawner.Spawn(goPowerUp); } } } } }
///////////////////////////////////////////////////////////////////////////// /// Function: SpawnNPC ///////////////////////////////////////////////////////////////////////////// public static void SpawnNPC(IAIBase.ETeam eTeam, IAIBase.ENPCType eType) { foreach (GameObject goObject in m_liSpawnPoints) { CSpawner cSpawner = goObject.GetComponent <CSpawner>(); if (cSpawner.SpawnerType != ESpawnerType.TYPE_NPC) { continue; } if (cSpawner.Team == eTeam && true == cSpawner.CanSpawn) { cSpawner.Spawn(NPCResource.GetObjectByType(eTeam, eType)); break; } } }
///////////////////////////////////////////////////////////////////////////// /// Function: SpawnFlag ///////////////////////////////////////////////////////////////////////////// public static void SpawnFlag() { List <GameObject> liSpawnLocations = new List <GameObject>(); foreach (GameObject goObject in m_liSpawnPoints) { CSpawner cSpawner = goObject.GetComponent <CSpawner>(); if (cSpawner.SpawnerType != ESpawnerType.TYPE_FLAG) { continue; } liSpawnLocations.Add(goObject); } CSpawner cSpawn = liSpawnLocations[Random.Range(0, liSpawnLocations.Count - 1)].GetComponent <CSpawner>(); cSpawn.Spawn(m_goFlagPrefab); }