public void initialize(BetterBudget2 main, UIPanel infoViewPanel)
        {
            this._main             = main;
            this._infoViewPanel    = infoViewPanel;
            this.anchor            = UIAnchorStyle.Bottom | UIAnchorStyle.Left | UIAnchorStyle.Right;
            this.transform.parent  = _infoViewPanel.transform;
            this.relativePosition  = new Vector3(8, _infoViewPanel.height + 2);
            this.size              = new Vector2(_infoViewPanel.width - 16, 0); // size
            this._sliderList       = new List <UIPanel>();
            this._sliderIsOpenList = new List <bool>();
            this.isEditEnabled     = true;
            settings = new BBEmbeddedSaveFile();
            settings.infoViewPanelName = infoViewPanel.name;

            this.isPublicTransportInfoViewPanelAndDidNotApplyFix = false;
            if (infoViewPanel.name.Equals("(Library) PublicTransportInfoViewPanel"))
            {
                this.isPublicTransportInfoViewPanelAndDidNotApplyFix = true;
            }

            //if (infoViewPanel.name.Equals("(Library) WaterInfoViewPanel"))
            //{
            //    this.relativePosition = new Vector3(16, _infoViewPanel.height + 2);
            //}

            UISprite icon = _infoViewPanel.Find("Caption").Find <UISprite>("Icon");

            icon.eventClick += openSelectorPanel;
            icon.BringToFront();
        }
        /// <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();
                }
            }
        }
        private void createSaveFile()
        {
            System.IO.Directory.CreateDirectory(filePath); // create folder

            BBSettings settings = new BBSettings();

            settings.expanseUpdateActive = true;

            List <String>   infoViewPanelNameList = new List <string>();
            List <String[]> budgetSliderNameList  = new List <String[]>();

            infoViewPanelNameList.Add("(Library) HealthInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Healthcare" });
            infoViewPanelNameList.Add("(Library) OutsideConnectionsInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) CrimeInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Police" });
            infoViewPanelNameList.Add("(Library) PopulationInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) PollutionInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) NoisePollutionInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) WindInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) LevelsInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) TrafficInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) LandValueInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) NaturalResourcesInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) PublicTransportInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Bus", "Metro", "Train", "Ship", "Plane", "Taxi", "Tram" });
            infoViewPanelNameList.Add("(Library) ElectricityInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Electricity" });
            infoViewPanelNameList.Add("(Library) HappinessInfoViewPanel");
            budgetSliderNameList.Add(new String[] {});
            infoViewPanelNameList.Add("(Library) EducationInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Education" });
            infoViewPanelNameList.Add("(Library) WaterInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "WaterAndSewage" });
            infoViewPanelNameList.Add("(Library) HeatingInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Electricity" });
            infoViewPanelNameList.Add("(Library) GarbageInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Garbage" });
            infoViewPanelNameList.Add("(Library) FireSafetyInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "FireDepartment" });
            infoViewPanelNameList.Add("(Library) EntertainmentInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "Beautification", "Monuments" });
            infoViewPanelNameList.Add("(Library) RoadMaintenanceInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "RoadMaintenance" });
            infoViewPanelNameList.Add("(Library) RoadSnowInfoViewPanel");
            budgetSliderNameList.Add(new String[] { "RoadMaintenance" });

            for (int i = 0; i < infoViewPanelNameList.Count; i++)
            {
                BBEmbeddedSaveFile savefile = new BBEmbeddedSaveFile();
                savefile.infoViewPanelName = infoViewPanelNameList[i];
                List <String> sliderNameList = new List <String>();
                foreach (String name in budgetSliderNameList[i])
                {
                    sliderNameList.Add(name);
                }
                savefile.budgetSliderNameList = sliderNameList;
                settings.embeddedPanelSettings.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();
                }
            }
        }