/// <summary> /// Saves playermade changes and settings. /// </summary> private void saveSettings() { System.IO.Directory.CreateDirectory(filePath); if (File.Exists(filePath + fileNameSettings)) File.Delete(filePath + fileNameSettings); // request data to save BBSettings settings = new BBSettings(); settings.expenseUpdateActive = _expenseUpdateActive; settings.customPanelCreatorSettings = _customPanelCreator.getSettings(); foreach (UIExtendedBudgetPanel panel in _containerPanels) { settings.panelSettings.Add(panel.getSettings()); } TextWriter writer = null; try { var serializer = new XmlSerializer(typeof(BBSettings)); writer = new StreamWriter(filePath + fileNameSettings, false); serializer.Serialize(writer, settings); } finally { if (writer != null) writer.Close(); } }
/// <summary> /// Checks if the save file with all settings exists. If not it creates the standard save file. /// </summary> private void checkForSaveFile() { if (File.Exists(filePath + fileNameSettings)) // everything is ok, savefile from last session exists return; System.IO.Directory.CreateDirectory(filePath); // create folder // create save file with standard extended panels string[] extendedPanelName = { "ExtendedPanelElectricity", "ExtendedPanelWater", "ExtendedPanelGarbage", "ExtendedPanelHealth", "ExtendedPanelFireSafety", "ExtendedPanelCrime", "ExtendedPanelEducation", "ExtendedPanelParks", "ExtendedPanelFreetime", "ExtendedPanelTransport" }; string[] informationPanelName = { "(Library) ElectricityInfoViewPanel", "(Library) WaterInfoViewPanel", "(Library) GarbageInfoViewPanel", "(Library) HealthInfoViewPanel", "(Library) FireSafetyInfoViewPanel", "(Library) CrimeInfoViewPanel", "(Library) EducationInfoViewPanel", "(Library) HappinessInfoViewPanel", "(Library) EntertainmentInfoViewPanel", "(Library) PublicTransportInfoViewPanel" }; string[][] sliderPanelTemplate = { new String[] {"Electricity"}, new String[] {"WaterAndSewage"}, new String[] {"Garbage"}, new String[] {"Healthcare"}, new String[] {"FireDepartment"}, new String[] {"Police"}, new String[] {"Education"}, new String[] {"Beautification"}, new String[] {"Beautification", "Monuments"}, new String[] {"Bus","Metro","Train","Ship","Plane"} }; List<BBPanelSettings> settings = new List<BBPanelSettings>(); for (int i = 0; i < extendedPanelName.Length; i++) { BBPanelSettings panelSettings = new BBPanelSettings(); panelSettings.name = extendedPanelName[i]; panelSettings.slider = sliderPanelTemplate[i]; panelSettings.informationPanel = informationPanelName[i]; panelSettings.x = 0; panelSettings.y = 0; panelSettings.opacity = 1f; panelSettings.sticky = false; panelSettings.mode = Mode.Default; panelSettings.isCustom = false; panelSettings.isLeft = false; settings.Add(panelSettings); } BBPanelSettings customPanelSettings = new BBPanelSettings(); customPanelSettings.x = 80; customPanelSettings.y = 80; BBSettings BBsettings = new BBSettings(); BBsettings.panelSettings = settings; BBsettings.expenseUpdateActive = true; BBsettings.customPanelCreatorSettings = customPanelSettings; TextWriter writer = null; try { var serializer = new XmlSerializer(typeof(BBSettings)); writer = new StreamWriter(filePath + fileNameSettings, false); serializer.Serialize(writer, BBsettings); } finally { if (writer != null) writer.Close(); } }