public void Read(GenericStructure gs) { ID = gs.PropertyInteger("ID"); Name = gs["Name"]; Engine = (Engine) Enum.Parse(typeof(Engine), gs["EngineID"]); BuildID = gs.PropertyInteger("BuildID"); SteamInstall = gs.PropertyBoolean("SteamInstall"); WonGameDir = gs["WonGameDir"]; SteamGameDir = gs["SteamGameDir"]; ModDir = gs["ModDir"]; BaseDir = gs["BaseDir"]; Executable = gs["Executable"]; ExecutableParameters = gs["ExecutableParameters"]; MapDir = gs["MapDir"]; Autosave = gs.PropertyBoolean("Autosave"); UseCustomAutosaveDir = gs.PropertyBoolean("UseCustomAutosaveDir"); AutosaveDir = gs["AutosaveDir"]; AutosaveTime = gs.PropertyInteger("AutosaveTime"); AutosaveLimit = gs.PropertyInteger("AutosaveLimit"); AutosaveOnlyOnChanged = gs.PropertyBoolean("AutosaveOnlyOnChanged"); DefaultPointEntity = gs["DefaultPointEntity"]; DefaultBrushEntity = gs["DefaultBrushEntity"]; DefaultTextureScale = gs.PropertyDecimal("DefaultTextureScale"); DefaultLightmapScale = gs.PropertyDecimal("DefaultLightmapScale"); OverrideMapSize = gs.PropertyBoolean("OverrideMapSize"); OverrideMapSizeLow = gs.PropertyInteger("OverrideMapSizeLow"); OverrideMapSizeHigh = gs.PropertyInteger("OverrideMapSizeHigh"); var wads = gs.Children.FirstOrDefault(x => x.Name == "Wads"); if (wads != null) { foreach (var key in wads.GetPropertyKeys()) { Wads.Add(new Wad { Path = wads[key] }); } } var fgds = gs.Children.FirstOrDefault(x => x.Name == "Fgds"); if (fgds != null) { foreach (var key in fgds.GetPropertyKeys()) { Fgds.Add(new Fgd { Path = fgds[key] }); } } }
public void Read(GenericStructure gs) { ID = gs.PropertyInteger("ID"); Name = gs["Name"]; Engine = (Engine) Enum.Parse(typeof(Engine), gs["EngineID"]); BuildID = gs.PropertyInteger("BuildID"); SteamInstall = gs.PropertyBoolean("SteamInstall"); WonGameDir = gs["WonGameDir"]; SteamGameDir = gs["SteamGameDir"]; ModDir = gs["ModDir"]; UseHDModels = gs.PropertyBoolean("UseHDModels", true); BaseDir = gs["BaseDir"]; Executable = gs["Executable"]; ExecutableParameters = gs["ExecutableParameters"]; MapDir = gs["MapDir"]; Autosave = gs.PropertyBoolean("Autosave"); UseCustomAutosaveDir = gs.PropertyBoolean("UseCustomAutosaveDir"); AutosaveDir = gs["AutosaveDir"]; AutosaveTime = gs.PropertyInteger("AutosaveTime"); AutosaveLimit = gs.PropertyInteger("AutosaveLimit"); AutosaveOnlyOnChanged = gs.PropertyBoolean("AutosaveOnlyOnChanged", true); AutosaveTriggerFileSave = gs.PropertyBoolean("AutosaveTriggerFileChange", true); DefaultPointEntity = gs["DefaultPointEntity"]; DefaultBrushEntity = gs["DefaultBrushEntity"]; DefaultTextureScale = gs.PropertyDecimal("DefaultTextureScale"); DefaultLightmapScale = gs.PropertyDecimal("DefaultLightmapScale"); IncludeFgdDirectoriesInEnvironment = gs.PropertyBoolean("IncludeFgdDirectoriesInEnvironment", true); OverrideMapSize = gs.PropertyBoolean("OverrideMapSize"); OverrideMapSizeLow = gs.PropertyInteger("OverrideMapSizeLow"); OverrideMapSizeHigh = gs.PropertyInteger("OverrideMapSizeHigh"); var additional = gs.Children.FirstOrDefault(x => x.Name == "AdditionalPackages"); if (additional != null) { foreach (var key in additional.GetPropertyKeys()) { AdditionalPackages.Add(additional[key]); } } PackageBlacklist = (gs["PackageBlacklist"] ?? "").Replace(";", "\r\n"); PackageWhitelist = (gs["PackageWhitelist"] ?? "").Replace(";", "\r\n"); var fgds = gs.Children.FirstOrDefault(x => x.Name == "Fgds"); if (fgds != null) { foreach (var key in fgds.GetPropertyKeys()) { Fgds.Add(new Fgd { Path = fgds[key] }); } } }