Exemple #1
0
 public ManagerEfficiencyRollbackLevel GetManagerEfficiencyRollbackLevel(int managerId)
 {
     if (ManagerEfficiencyRollbackLevels.ContainsKey(managerId))
     {
         return(ManagerEfficiencyRollbackLevels[managerId]);
     }
     else
     {
         ManagerEfficiencyRollbackLevel level = new ManagerEfficiencyRollbackLevel(managerId);
         ManagerEfficiencyRollbackLevels.Add(managerId, level);
         return(level);
     }
 }
Exemple #2
0
        public override object GetSave()
        {
            Dictionary <int, ManagerInfoSave> managerSaves = new Dictionary <int, ManagerInfoSave>();

            foreach (var kvp in Managers)
            {
                managerSaves.Add(kvp.Key, kvp.Value.GetSave());
            }
            return(new ManagerServiceSave {
                managers = managerSaves,
                efficiencyRollbackImproveLevels = ManagerEfficiencyRollbackLevels.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.GetSave())
            });
        }
Exemple #3
0
        private IEnumerator LoadDefaultsImpl()
        {
            yield return(new WaitUntil(() => Services.ResourceService.IsLoaded));

            yield return(new WaitUntil(() => Services.GameModeService.IsLoaded));

            Managers.Clear();
            foreach (var data in Services.ResourceService.Managers.ManagerCollections)
            {
                GeneratorData generatorData = Services.ResourceService.Generators.GetGeneratorData(data.Id);
                Managers.Add(data.Id, new ManagerInfo(data, generatorData));
            }
            if (Services.GameModeService.IsFirstTimeLaunch)
            {
                SetCashOnHand(0, kFirstManagerCashOnHand);
            }

            ManagerEfficiencyRollbackLevels.Clear();

            IsLoaded = true;
        }
Exemple #4
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();
            }
        }
Exemple #5
0
 private void ResetByGameplay()
 {
     BaseReset();
     ManagerEfficiencyRollbackLevels.Clear();
     IsLoaded = true;
 }