public void ReceiveResource(int amount, ResourceType type, string troopName = "") { switch (type) { case ResourceType.Food: playerData.foods += amount; break; case ResourceType.Population: playerData.SetPopulation(amount); break; case ResourceType.Coin: playerData.coins += amount; break; case ResourceType.Cows: playerData.cows += amount; break; case ResourceType.farmer: playerData.farmerCount += amount; break; case ResourceType.herdsmen: playerData.herdsmanCount += amount; playerData.UpdateCowStorage(); break; case ResourceType.storageKeeper: playerData.storageKeeperCount += amount; playerData.UpdateFoodStorage(); break; case ResourceType.Troops: ReceiveTroops(amount, troopName); break; case ResourceType.Mercenary: ReceiveMercenary(amount, troopName); break; case ResourceType.cowStorage: playerData.barnExpansion += amount; playerData.UpdateCowStorage(); break; case ResourceType.foodStorage: playerData.safeFood += amount; break; default: break; } if (TransitionManager.GetInstance != null) { if (!TransitionManager.GetInstance.isNewGame) { SaveData.SaveLoadManager.GetInstance.SaveCurrentData(); } } else { SaveData.SaveLoadManager.GetInstance.SaveCurrentData(); } foodBehavior.UpdateWarningMechanics(); troopBehavior.UpdateWarningMechanics(); populationBehavior.UpdateWarningMechanics(); coinBehavior.UpdateWarningMechanics(); if (ResourceInformationController.GetInstance != null) { ResourceInformationController.GetInstance.UpdateCurrentPanelWarnings(); } }