Пример #1
0
        /// <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();
            }
        }
Пример #2
0
        /// <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();
            }
        }