/// <summary> /// Saves playermade changes and settings. /// </summary> public void saveSettings() { System.IO.Directory.CreateDirectory(filePath); if (File.Exists(filePath + fileNameSettings)) { File.Delete(filePath + fileNameSettings); } BBSettings settings = new BBSettings(); settings.expanseUpdateActive = _expenseUpdateActive; foreach (UIEmbeddedBudgetPanel panel in _embeddedBudgetPanelList) { BBEmbeddedSaveFile savefile = panel.getSettings(); settings.embeddedPanelSettings.Add(savefile); } foreach (UICustomBudgetPanel panel in _customBudgetPanelList) { BBCustomSaveFile savefile = panel.getSettings(); settings.customPanelSettings.Add(savefile); } 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(); } } }
public void initialize(BetterBudget2 main, BBCustomSaveFile settings) { this._main = main; _main.addCustomPanel(this); this.settings = new BBCustomSaveFile(); this._timer = new List <int>(); this.relativePosition = new Vector3(settings.x, settings.y); this.isEditEnabled = true; this.name = "Custom Budget Panel"; this.size = new Vector2(settings.width, 46); this.mode = Mode.Default; this.opacity = settings.opacity; _sliderList = new List <UIPanel>(); backgroundSprite = "MenuPanel2"; // title title = AddUIComponent <UILabel>(); title.text = "Custom Budget Panel"; title.relativePosition = new Vector3((width / 2) - ((title.text.Length / 2) * 8), 12); title.name = "Title"; // Drag Handler draghandler = AddUIComponent <UIDragHandle>(); draghandler.relativePosition = new Vector3(0, 0); draghandler.target = this; draghandler.name = "Drag Handler"; draghandler.size = new Vector2(this.width, 41); // Resize Handler //resizehandler = AddUIComponent<UIResizeHandle>(); //resizehandler.edges = UIResizeHandle.ResizeEdge.Right; // Quit Button quitButton = AddUIComponent <UIButton>(); quitButton.name = "Quit Button"; quitButton.normalBgSprite = "buttonclose"; quitButton.pressedBgSprite = "buttonclosehover"; quitButton.hoveredBgSprite = "buttonclosepressed"; quitButton.focusedBgSprite = "buttonclosehover"; quitButton.eventClick += deleteCustomPanel; quitButton.size = new Vector2(36, 36); quitButton.relativePosition = new Vector3(width - 43, 2); // icon icon = AddUIComponent <UISprite>(); icon.relativePosition = new Vector3(2, 2); icon.spriteName = "MoneyThumb"; icon.name = "Icon"; icon.size = new Vector2(40, 40); icon.eventClicked += openSelectorPanel; icon.BringToFront(); if (settings.budgetSliderNameList.Count > 0) { setSliderPanel(settings.budgetSliderNameList.ToArray()); // required on load while (mode != settings.mode) { toggleMode(); } } this.settings = settings; // ensures that settings are saved across sessions even if some expansions and their budgets may be disabled }