public override void whenTriggerWithBot(Collider2D collision) { AIBotController hittedBot = collision.transform.parent.GetComponent <AIBotController>(); if (hittedBot != null) { if (hittedBot.isAlive) { if (NetworkPlayers._inst._localCPlayer._photonView.CreatorActorNr == _photonView.CreatorActorNr) { NetworkPlayers._inst._localCPlayer.onKillBot(); } } hittedBot.getInflected(); } }
private void CreateBots(bool load, int count) { IPlanetController planetController; for (int i = 0; i < count; i++) { float currentHealth; int botPlanetID; RocketType botRocketType; if (load) { currentHealth = saveData.Bots[i].Health; botPlanetID = saveData.Bots[i].PlanetID; botRocketType = (RocketType)saveData.Bots[i].RocketID; } else { currentHealth = PlanetModule.GameData.PLANET_MAX_HEALTH; botPlanetID = UnityEngine.Random.Range(0, PlanetModule.GameData.PLANETS_PREFAB_PATH.Count); botRocketType = (RocketType)UnityEngine.Random.Range(0, Enum.GetNames(typeof(RocketType)).Length); } string planetPath = PlanetModule.GameData.PLANETS_PREFAB_PATH[botPlanetID]; planetController = Instantiate(Resources.Load <PlanetController>(planetPath)); planetController.Init(botRocketType, currentHealth); planetController.StartMove(orbitCreator.GetFreeOrbit()); IAIBotController bot = new AIBotController(); bot.Init(bots.Count, planetController, botPlanetID, (int)botRocketType); bots.Add(bots.Count, bot); botsCount++; bot.OnDied += (id) => { //bots.Remove(id); botsCount--; SomeoneDie(); }; } }
// Update is called once per frame void BotSpawn() { for (int i = 0; i < WaypointLists.Count; i++) { if (Bots.Count < i + 1) { Bots.Add(new List <AIBotController>()); } if (Bots[i] == null) { Bots[i] = new List <AIBotController>(); } if (Bots[i].Count <WaypointListBotCount[i] && Random.value> 0.5f) { AIBotController aIBot = Instantiate(AIBotPrefab).GetComponent <AIBotController>(); aIBot.waypointsParent = WaypointLists[i]; aIBot.enemies = globalEnemies; Bots[i].Add(aIBot); } } }