示例#1
0
        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();
            }
        }
示例#2
0
        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);
            }
        }
示例#3
0
 public RollbackChangedEventArgs(double oldValue, double newValue, ManagerInfo manager)
 {
     OldValue = oldValue;
     NewValue = newValue;
     Manager  = manager;
 }
示例#4
0
 public static void OnManagerKickBack(double payedCount, bool isFirstKickback, ManagerInfo manager)
 => ManagerKickBack?.Invoke(payedCount, isFirstKickback, manager);
示例#5
0
 public static void OnManagerCashOnHandChanged(double oldCash, double newCash, ManagerInfo manager)
 => ManagerCashOnHandChanged?.Invoke(oldCash, newCash, manager);
示例#6
0
 public static void OnTransportManagerHired(ManagerInfo manager)
 => TransportManagerHired?.Invoke(manager);
示例#7
0
 public static void OnMaxRollbackChanged(double oldValue, double newValue, ManagerInfo manager)
 => MaxRollbackChanged?.Invoke(oldValue, newValue, manager);
示例#8
0
 public static void OnMaxEfficiencyChanged(double oldValue, double newValue, ManagerInfo manager)
 => MaxEfficiencyChanged?.Invoke(oldValue, newValue, manager);
示例#9
0
 public void OnEfficiencyChanged(double efficiencyChange, ManagerInfo manager)
 {
     //throw new NotImplementedException();
 }
示例#10
0
 public bool IsMegaRollbackLevel(ManagerInfo manager)
 {
     throw new NotImplementedException();
 }
示例#11
0
 public bool IsMegaEfficiencyLevel(ManagerInfo manager)
 {
     throw new NotImplementedException();
 }
示例#12
0
        public bool IsMegaRollbackLevel(ManagerInfo manager)
        {
            var level = GetManagerEfficiencyRollbackLevel(manager.Id);

            return(level.IsRollbackMaxLevel(ResourceService.ManagerImprovements));
        }