コード例 #1
0
        public override void LoadSave(object obj)
        {
            ShipModuleServiceSave save = obj as ShipModuleServiceSave;

            if (save != null)
            {
                Modules.Clear();
                if (save.modules != null)
                {
                    foreach (var moduleSave in save.modules)
                    {
                        Modules.Add(new ShipModuleInfo(moduleSave));
                    }
                }
                else
                {
                    CreateEmptyModules();
                }
                save.Validate();
                ModuleCounters.Clear();
                ModuleCounters.CopyFrom(save.moduleCounters);

                IsLoaded = true;
            }
            else
            {
                LoadDefaults();
            }
        }
コード例 #2
0
        public override object GetSave()
        {
            List <ShipModuleSave> moduleSaves = new List <ShipModuleSave>();

            Modules.ForEach(module => moduleSaves.Add(module.GetSave()));
            return(new ShipModuleServiceSave {
                modules = moduleSaves,
                moduleCounters = ModuleCounters.ToDictionary(kvp => kvp.Key, kvp => kvp.Value)
            });
        }