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();
        }
    }
Esempio n. 2
0
        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);
            }
        }
    }