public static void DecreaseRole(AI_Character.Role removingRole) { if (CheckVillagerInRole(removingRole)) { AI_Character chosenVillager = GetVillagerInRole(removingRole); UpdateRoleCount(chosenVillager.myRole, AI_Character.Role.Villager); chosenVillager.SetRole(AI_Character.Role.Villager); } }
public static void IncreaseRole(AI_Character.Role newRole) { if (CheckAvailableVillager()) { AI_Character chosenVillager = GetAvailableVillager(); UpdateRoleCount(chosenVillager.myRole, newRole); chosenVillager.SetRole(newRole); } }
public static bool CheckVillagerInRole(AI_Character.Role role) { for (int i = 0; i < GameManager.instance.villagerList.Count; i++) { if (GameManager.instance.villagerList [i].myRole == role) { return(true); } } return(false); }
public static AI_Character GetVillagerInRole(AI_Character.Role role) { for (int i = 0; i < GameManager.instance.villagerList.Count; i++) { if (GameManager.instance.villagerList [i].myRole == role) { return(GameManager.instance.villagerList [i]); } } return(null); }
public static void UpdateRoleCount(AI_Character.Role oldRole, AI_Character.Role newRole) { switch (oldRole) { case AI_Character.Role.Villager: GameManager.instance.villagers -= 1; break; case AI_Character.Role.Miner: GameManager.instance.miners -= 1; break; case AI_Character.Role.Woodcutter: GameManager.instance.woodcutters -= 1; break; case AI_Character.Role.Militia: GameManager.instance.militia -= 1; break; default: break; } switch (newRole) { case AI_Character.Role.Villager: GameManager.instance.villagers += 1; break; case AI_Character.Role.Miner: GameManager.instance.miners += 1; break; case AI_Character.Role.Woodcutter: GameManager.instance.woodcutters += 1; break; case AI_Character.Role.Militia: GameManager.instance.militia += 1; break; default: break; } }