private void DestroyWorker(GameObject worker) { Bees.Remove(worker); Stats stats = worker.GetComponent <Stats>(); switch (stats.Specialization) { case SpecializationType.Forager: ForagerBees.Remove(worker); break; case SpecializationType.Guard: GuardBees.Remove(worker); break; case SpecializationType.Inkeeper: InkeeperBees.Remove(worker); break; default: break; } if (DestroyingBee != null) { DestroyingBee(worker); } if (DestroyingWorkerBee != null) { DestroyingWorkerBee(worker); } Destroy(worker); }
public void Go(Random random) { Hive.Go(random); for (int i = Bees.Count - 1; i >= 0; i--) { Bee bee = Bees[i]; bee.Go(random); if (bee.CurrentState == BeeState.Retired) { Bees.Remove(bee); } } double totalNectarHarvested = 0; for (int i = Flowers.Count - 1; i >= 0; i--) { Flower flower = Flowers[i]; flower.Go(); totalNectarHarvested += flower.NectarHarvested; if (!flower.Alive) { Flowers.Remove(flower); } } if (totalNectarHarvested > NectarHarvestedPerNewFlower) { foreach (Flower flower in flowers) { flower.NectarHarvested = 0; } AddFlower(random); } }
private void DestroyDrone(GameObject drone) { Bees.Remove(drone); if (DestroyingBee != null) { DestroyingBee(drone); } if (DestroyingDroneBee != null) { DestroyingDroneBee(drone); } Destroy(drone); }
private void DestroyQueen(GameObject queen) { Bees.Remove(queen); if (DestroyingBee != null) { DestroyingBee(queen); } if (DestroyingQueenBee != null) { DestroyingQueenBee(queen); } Destroy(queen); }
public void Go(Random random) { hive.Go(random); for (int i = Bees.Count - 1; i >= 0; i--) { Bee bee = Bees[i]; bee.Go(random); if (bee.CurrentState == BeeState.退休) { Changed("蜜蜂 #" + bee.ID + ": 死亡,享年" + bee.Age + "回合"); Bees.Remove(bee); } } double totalNectarHarvested = 0; for (int i = Flowers.Count - 1; i >= 0; i--) { Flower flower = Flowers[i]; flower.Go(); totalNectarHarvested += flower.NectarHarVested; if (!flower.Alive) { Flowers.Remove(flower); } } if (totalNectarHarvested > NectarHarvestedPerNewFlower && Flowers.Count <= MaxFlower) { foreach (Flower flower in Flowers) { flower.NectarHarVested = 0; } AddFlower(random); } }