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(); } }
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) }); }