public override void LoadSave(object obj) { ManagerServiceSave save = obj as ManagerServiceSave; if (save != null) { if (save.managers != null) { Managers.Clear(); foreach (var kvp in save.managers) { var managerData = Services.ResourceService.Managers.GetManagerData(kvp.Key); GeneratorData generatorData = Services.ResourceService.Generators.GetGeneratorData(kvp.Key); ManagerInfo manager = new ManagerInfo(managerData, generatorData, kvp.Value); Managers.Add(manager.Id, manager); } save.Validate(); ManagerEfficiencyRollbackLevels.Clear(); foreach (var me in save.efficiencyRollbackImproveLevels) { ManagerEfficiencyRollbackLevels.Add(me.Key, new ManagerEfficiencyRollbackLevel(me.Value)); } IsLoaded = true; } else { LoadDefaults(); } } else { LoadDefaults(); } }
private void BaseReset() { Dictionary <int, ManagerInfo> newManagers = new Dictionary <int, ManagerInfo>(); foreach (var kvp in Managers) { ManagerData managerData = Services.ResourceService.Managers.GetManagerData(kvp.Key); GeneratorData generatorData = Services.ResourceService.Generators.GetGeneratorData(kvp.Key); ManagerInfo newValue = new ManagerInfo(managerData, generatorData); newValue.SetHasKickBacks(kvp.Value.HasKickBacks); newManagers.Add(newValue.Id, newValue); } Managers.Clear(); foreach (var kvp in newManagers) { Managers.Add(kvp.Key, kvp.Value); } if (Services.GameModeService.IsFirstTimeLaunch) { SetCashOnHand(0, kFirstManagerCashOnHand); } }
public RollbackChangedEventArgs(double oldValue, double newValue, ManagerInfo manager) { OldValue = oldValue; NewValue = newValue; Manager = manager; }
public static void OnManagerKickBack(double payedCount, bool isFirstKickback, ManagerInfo manager) => ManagerKickBack?.Invoke(payedCount, isFirstKickback, manager);
public static void OnManagerCashOnHandChanged(double oldCash, double newCash, ManagerInfo manager) => ManagerCashOnHandChanged?.Invoke(oldCash, newCash, manager);
public static void OnTransportManagerHired(ManagerInfo manager) => TransportManagerHired?.Invoke(manager);
public static void OnMaxRollbackChanged(double oldValue, double newValue, ManagerInfo manager) => MaxRollbackChanged?.Invoke(oldValue, newValue, manager);
public static void OnMaxEfficiencyChanged(double oldValue, double newValue, ManagerInfo manager) => MaxEfficiencyChanged?.Invoke(oldValue, newValue, manager);
public void OnEfficiencyChanged(double efficiencyChange, ManagerInfo manager) { //throw new NotImplementedException(); }
public bool IsMegaRollbackLevel(ManagerInfo manager) { throw new NotImplementedException(); }
public bool IsMegaEfficiencyLevel(ManagerInfo manager) { throw new NotImplementedException(); }
public bool IsMegaRollbackLevel(ManagerInfo manager) { var level = GetManagerEfficiencyRollbackLevel(manager.Id); return(level.IsRollbackMaxLevel(ResourceService.ManagerImprovements)); }