public void ExecuteAction(string action_id, string village_id = null) { ActionStat pickAction = actionStatList.Find(x => x.ID == action_id); if (pickAction.ID == null) { return; } string combineID = CombineID(action_id, village_id); switch (action_id) { case StatFlag.ActionStat.Quarantine: ActionDict = UtilityMethod.EditDictionary <float>(ActionDict, combineID, 1); break; case StatFlag.ActionStat.Cure: ActionDict = UtilityMethod.EditDictionary <float>(ActionDict, combineID, gameManager.turn_count); Village village = villageManager.villages.Find(x => x.ID == village_id); if (village != null) { village.Cure(); } break; case StatFlag.ActionStat.Investigate: ActionDict = UtilityMethod.EditDictionary <float>(ActionDict, combineID, 1); gameManager.techViewPresenter.gameObject.SetActive(true); break; case StatFlag.ActionStat.Lab: ActionDict = UtilityMethod.EditDictionary <float>(ActionDict, combineID, GetValue(combineID) + 1); break; } currentAP -= pickAction.apCost; gameManager.UpdateHeaderUIView(); }
public void Reset() { currentAP = StatFlag.BaseModifier.baseAP; infectRate = 1; deathRate = 1; spreadRate = 0; travelerRate = 1; ResearchPowerOffset = 0; infectedDetectionRate = 0; APMOD = 0; isMobileHospital = false; if (villageManager.villages != null) { foreach (var village in villageManager.villages) { string quarantineID = CombineID(StatFlag.ActionStat.Quarantine, village.ID); ActionDict = UtilityMethod.EditDictionary <float>(ActionDict, quarantineID, 0); } } }