コード例 #1
0
        public void CreateWindow()
        {
            Window = WindowManager.SpawnWindow();
            Window.InitialTitle   = Window.TitleText.text = Window.NonLocTitle = title;
            Window.MinSize.x      = 670;
            Window.MinSize.y      = 800;
            Window.name           = "SIncLibMarketResearch";
            Window.MainPanel.name = "SIncLibAMarketResearchPanel";

            if (Window.name == "SIncLibMarketResearch")
            {
                Window.GetComponentsInChildren <Button>()
                .SingleOrDefault(x => x.name == "CloseButton")
                .onClick.AddListener(() => shown = false);
            }

            _softwareList = WindowManager.SpawnList();
            SetupSoftwareColumnDefinition(_softwareList);
            _softwareList.Items.Clear();
            _softwareList.Items.AddRange(GameSettings.Instance.MyCompany.Products);
            _softwareList.Initialize();

            WindowManager.AddElementToWindow(_softwareList.gameObject, Window, new Rect(10, 40, -20, 200),
                                             new Rect(0, 0, 1, 0));
        }
コード例 #2
0
        private static void CreateWindow()
        {
            Window = WindowManager.SpawnWindow();
            Window.InitialTitle   = Window.TitleText.text = Window.NonLocTitle = _title;
            Window.name           = "EmployeeSkillChange";
            Window.MainPanel.name = "EmployeeSkillChangePanel";

            if (Window.name == "EmployeeSkillChange")
            {
                Window.GetComponentsInChildren <Button>()
                .SingleOrDefault(x => x.name == "CloseButton")
                .onClick.AddListener(() => Shown = false);
            }

            List <GameObject> roleToggles           = new List <GameObject>();
            List <GameObject> specializationToggles = new List <GameObject>();

            Utils.AddLabel("Roles", new Rect(10, 5, 150, 32), Window);
            Utils.AddLabel("Specializations", new Rect(161, 5, 150, 32), Window);

            var rolesList = PropertyHelper.RolesList;

            foreach (var role in rolesList)
            {
                Utils.AddToggle(role.Key, PropertyHelper.GetProperty(rolesList, role.Key),
                                a => PropertyHelper.SetProperty(rolesList, role.Key,
                                                                !PropertyHelper.GetProperty(rolesList, role.Key)),
                                roleToggles);
            }

            Utils.AddButton("Set Skills", TrainerBehaviour.SetSkillPerEmployee, roleToggles);

            var specializationsList = PropertyHelper.SpecializationsList;

            foreach (var specialization in specializationsList)
            {
                Utils.AddToggle(specialization.Key,
                                PropertyHelper.GetProperty(specializationsList, specialization.Key),
                                a => PropertyHelper.SetProperty(specializationsList, specialization.Key,
                                                                !PropertyHelper.GetProperty(specializationsList, specialization.Key)),
                                specializationToggles);
            }

            Utils.CreateGameObjects(Constants.FIRST_COLUMN, 1, roleToggles.ToArray(), Window);
            Utils.CreateGameObjects(Constants.SECOND_COLUMN, 1, specializationToggles.ToArray(), Window);

            int[] columnsCount = new int[]
            {
                roleToggles.Count(),
                  specializationToggles.Count()
            };

            Utils.SetWindowSize(columnsCount, Constants.X_EMPLOYEESKILLCHANGE_WINDOW, Constants.Y_EMPLOYEESKILLCHANGE_WINDOW_OFFSET, Window);
        }
コード例 #3
0
        public void CreateWindow()
        {
            Window = WindowManager.SpawnWindow();
            Window.InitialTitle   = Window.TitleText.text = Window.NonLocTitle = title;
            Window.MinSize.x      = 670;
            Window.MinSize.y      = 800;
            Window.name           = "SIncLibAutoDev";
            Window.MainPanel.name = "SIncLibAutoDevPanel";

            if (Window.name == "SIncLibAutoDev")
            {
                Window.GetComponentsInChildren <Button>()
                .SingleOrDefault(x => x.name == "CloseButton")
                .onClick.AddListener(() => shown = false);
            }

            Utils.AddLabel("Dev Tasks", new Rect(10, 10, 250, 35), Window);

            _devList = WindowManager.SpawnList();
            SetupDevColumnDefinition(_devList);
            AssignDevItems();

            WindowManager.AddElementToWindow(_devList.gameObject, Window, new Rect(10, 40, -20, 200),
                                             new Rect(0, 0, 1, 0));

            Utils.AddLabel("Support Tasks", new Rect(10, 250, 250, 35), Window);

            _supportList = WindowManager.SpawnList();
            SetupSupportColumnDefinition(_supportList);
            AssignSupportItems();

            WindowManager.AddElementToWindow(_supportList.gameObject, Window, new Rect(10, 280, -20, 200),
                                             new Rect(0, 0, 1, 0));

            Utils.AddLabel("Marketing Tasks", new Rect(10, 500, 250, 35), Window);

            _marketList = WindowManager.SpawnList();
            SetupMarketColumnDefinition(_marketList);
            AssignMarketingItems();

            WindowManager.AddElementToWindow(_marketList.gameObject, Window, new Rect(10, 530, -20, 200),
                                             new Rect(0, 0, 1, 0));
        }
コード例 #4
0
ファイル: SettingsWindow.cs プロジェクト: Trawis/T3A10
        private static void Init()
        {
            Window = WindowManager.SpawnWindow();
            Window.InitialTitle   = Window.TitleText.text = Window.NonLocTitle = title;
            Window.MinSize.x      = 670;
            Window.MinSize.y      = 580;
            Window.name           = "TrainerSettings";
            Window.MainPanel.name = "TrainerSettingsPanel";

            if (Window.name == "TrainerSettings")
            {
                Window.GetComponentsInChildren <Button>()
                .SingleOrDefault(x => x.name == "CloseButton")
                .onClick.AddListener(() => shown = false);
            }

            List <GameObject> Buttons = new List <GameObject>();
            List <GameObject> col1    = new List <GameObject>();
            List <GameObject> col2    = new List <GameObject>();
            List <GameObject> col3    = new List <GameObject>();


            Utils.AddInputBox("Product Name Here", new Rect(1, 96, 150, 32),
                              boxText => PropertyHelper.Product_PriceName = boxText);


            Utils.AddButton("Add Money", new Rect(1, 0, 150, 32), TrainerBehaviour.IncreaseMoney);

            Utils.AddButton("Add Reputation", new Rect(161, 0, 150, 32), TrainerBehaviour.AddRep);

            Utils.AddButton("Set Product Price", new Rect(161, 96, 150, 32), TrainerBehaviour.SetProductPrice);

            Utils.AddButton("Set Product Stock", new Rect(322, 96, 150, 32), TrainerBehaviour.SetProductStock);

            Utils.AddButton("Set Active Users", new Rect(483, 96, 150, 32), TrainerBehaviour.AddActiveUsers);

            Utils.AddButton("Max Followers", new Rect(1, 32, 150, 32), TrainerBehaviour.MaxFollowers);

            Utils.AddButton("Fix Bugs", new Rect(161, 32, 150, 32), TrainerBehaviour.FixBugs);

            Utils.AddButton("Max Code", new Rect(322, 32, 150, 32), TrainerBehaviour.MaxCode);

            Utils.AddButton("Max Art", new Rect(483, 32, 150, 32), TrainerBehaviour.MaxArt);

            Utils.AddButton("Takeover Company", new Rect(1, 160, 150, 32), TrainerBehaviour.TakeoverCompany);

            Utils.AddButton("Subsidiary Company", new Rect(161, 160, 150, 32), TrainerBehaviour.SubDCompany);

            Utils.AddButton("Bankrupt", new Rect(322, 160, 150, 32), TrainerBehaviour.ForceBankrupt);

            Utils.AddButton("AI Bankrupt All", TrainerBehaviour.AIBankrupt, ref Buttons);

            Utils.AddButton("Days per month", TrainerBehaviour.MonthDays, ref Buttons);

            Utils.AddButton("Clear all loans", TrainerBehaviour.ClearLoans, ref Buttons);

            Utils.AddButton("HR Leaders", TrainerBehaviour.HREmployees, ref Buttons);

            Utils.AddButton("Max Skill of employees", TrainerBehaviour.EmployeesToMax, ref Buttons);

            Utils.AddButton("Remove Products", TrainerBehaviour.RemoveSoft, ref Buttons);

            Utils.AddButton("Reset age of employees", TrainerBehaviour.ResetAgeOfEmployees, ref Buttons);

            Utils.AddButton("Sell products stock", TrainerBehaviour.SellProductStock, ref Buttons);

            Utils.AddButton("Unlock all furniture", TrainerBehaviour.UnlockFurniture, ref Buttons);

            Utils.AddButton("Unlock all space", TrainerBehaviour.UnlockAllSpace, ref Buttons);

            //Utils.AddButton("Test", TrainerBehaviour.Test, ref Buttons);


            Utils.AddToggle("Disable Needs", PropertyHelper.GetProperty("NoNeeds"),
                            a => PropertyHelper.SetProperty("NoNeeds", !PropertyHelper.GetProperty("NoNeeds")), ref col1);

            Utils.AddToggle("Disable Stress", PropertyHelper.GetProperty("NoStress"),
                            a => PropertyHelper.SetProperty("NoStress", !PropertyHelper.GetProperty("NoStress")), ref col1);

            Utils.AddToggle("Free Employees", PropertyHelper.GetProperty("FreeEmployees"),
                            a => PropertyHelper.SetProperty("FreeEmployees", !PropertyHelper.GetProperty("FreeEmployees")), ref col1);

            Utils.AddToggle("Free Staff", PropertyHelper.GetProperty("FreeStaff"),
                            a => PropertyHelper.SetProperty("FreeStaff", !PropertyHelper.GetProperty("FreeStaff")), ref col1);

            Utils.AddToggle("Full Efficiency", PropertyHelper.GetProperty("FullEfficiency"),
                            a => PropertyHelper.SetProperty("FullEfficiency", !PropertyHelper.GetProperty("FullEfficiency")), ref col1);

            Utils.AddToggle("Full Satisfaction", PropertyHelper.GetProperty("FullSatisfaction"),
                            a => PropertyHelper.SetProperty("FullSatisfaction", !PropertyHelper.GetProperty("FullSatisfaction")), ref col1);

            Utils.AddToggle("Lock Age of Employees", PropertyHelper.GetProperty("LockAge"),
                            a => PropertyHelper.SetProperty("LockAge", !PropertyHelper.GetProperty("LockAge")), ref col1);

            Utils.AddToggle("No Vacation", PropertyHelper.GetProperty("NoVacation"),
                            a => PropertyHelper.SetProperty("NoVacation", !PropertyHelper.GetProperty("NoVacation")), ref col1);

            Utils.AddToggle("No Sickness", PropertyHelper.GetProperty("NoSickness"),
                            a => PropertyHelper.SetProperty("NoSickness", !PropertyHelper.GetProperty("NoSickness")), ref col1);

            Utils.AddToggle("Ultra Efficiency (Tick Full Eff first)", PropertyHelper.GetProperty("UltraEfficiency"),
                            a => PropertyHelper.SetProperty("UltraEfficiency", !PropertyHelper.GetProperty("UltraEfficiency")), ref col1);

            Utils.AddToggle("Full Environment", PropertyHelper.GetProperty("FullEnvironment"),
                            a => PropertyHelper.SetProperty("FullEnvironment", !PropertyHelper.GetProperty("FullEnvironment")), ref col2);

            Utils.AddToggle("Full Sun Light", PropertyHelper.GetProperty("FullRoomBrightness"),
                            a => PropertyHelper.SetProperty("FullRoomBrightness", !PropertyHelper.GetProperty("FullRoomBrightness")), ref col2);

            Utils.AddToggle("Lock Temperature To 21", PropertyHelper.GetProperty("TemperatureLock"),
                            a => PropertyHelper.SetProperty("TemperatureLock", !PropertyHelper.GetProperty("TemperatureLock")), ref col2);

            Utils.AddToggle("No Maintenance", PropertyHelper.GetProperty("NoMaintenance"),
                            a => PropertyHelper.SetProperty("NoMaintenance", !PropertyHelper.GetProperty("NoMaintenance")), ref col2);

            Utils.AddToggle("Noise Reduction", PropertyHelper.GetProperty("NoiseReduction"),
                            a => PropertyHelper.SetProperty("NoiseReduction", !PropertyHelper.GetProperty("NoiseReduction")), ref col2);

            Utils.AddToggle("Rooms Never Dirty", PropertyHelper.GetProperty("CleanRooms"),
                            a => PropertyHelper.SetProperty("CleanRooms", !PropertyHelper.GetProperty("CleanRooms")), ref col2);

            Utils.AddToggle("Auto Distribution Deals", PropertyHelper.GetProperty("AutoDistributionDeals"),
                            a => PropertyHelper.SetProperty("AutoDistributionDeals", !PropertyHelper.GetProperty("AutoDistributionDeals")), ref col3);

            Utils.AddToggle("Free Print", PropertyHelper.GetProperty("FreePrint"),
                            a => PropertyHelper.SetProperty("FreePrint", !PropertyHelper.GetProperty("FreePrint")), ref col3);

            Utils.AddToggle("Free Water & Electricity", PropertyHelper.GetProperty("NoWaterElectricity"),
                            a => PropertyHelper.SetProperty("NoWaterElectricity", !PropertyHelper.GetProperty("NoWaterElectricity")), ref col3);

            Utils.AddToggle("Increase Bookshelf Skill", PropertyHelper.GetProperty("IncreaseBookshelfSkill"),
                            a => PropertyHelper.SetProperty("IncreaseBookshelfSkill", !PropertyHelper.GetProperty("IncreaseBookshelfSkill")), ref col3);

            Utils.AddToggle("Increase Courier Capacity", PropertyHelper.GetProperty("IncreaseCourierCapacity"),
                            a => PropertyHelper.SetProperty("IncreaseCourierCapacity", !PropertyHelper.GetProperty("IncreaseCourierCapacity")), ref col3);

            Utils.AddToggle("Increase Print Speed", PropertyHelper.GetProperty("IncreasePrintSpeed"),
                            a => PropertyHelper.SetProperty("IncreasePrintSpeed", !PropertyHelper.GetProperty("IncreasePrintSpeed")), ref col3);

            Utils.AddToggle("More Hosting Deals", PropertyHelper.GetProperty("MoreHostingDeals"),
                            a => PropertyHelper.SetProperty("MoreHostingDeals", !PropertyHelper.GetProperty("MoreHostingDeals")), ref col3);

            Utils.AddToggle("Reduce Internet Cost", PropertyHelper.GetProperty("ReduceISPCost"),
                            a => PropertyHelper.SetProperty("ReduceISPCost", !PropertyHelper.GetProperty("ReduceISPCost")), ref col3);

            Utils.AddToggle("Disable Skill Decay", PropertyHelper.GetProperty("DisableSkillDecay"),
                            a => PropertyHelper.SetProperty("DisableSkillDecay", !PropertyHelper.GetProperty("DisableSkillDecay")), ref col3);

            Utils.DoLoops(Buttons.ToArray(), col1.ToArray(), col2.ToArray(), col3.ToArray());
        }
コード例 #5
0
        private static void Init()
        {
            DevTeams.Clear();
            DevTeams.AddRange <string>((IEnumerable <string>)GameSettings.Instance.GetDefaultTeams("Design"));

            Window = WindowManager.SpawnWindow();
            Window.InitialTitle   = Window.TitleText.text = Window.NonLocTitle = title;
            Window.MinSize.x      = 670;
            Window.MinSize.y      = 400;
            Window.name           = "SIncLibOptions";
            Window.MainPanel.name = "SIncLibOptionsPanel";

            if (Window.name == "SIncLibOptions")
            {
                Window.GetComponentsInChildren <Button>()
                .SingleOrDefault(x => x.name == "CloseButton")
                .onClick.AddListener(() => shown = false);
            }


            Utils.AddLabel("Team Manager:", new Rect(10, 10, 250, 32));
            Utils.AddLabel("Team:", new Rect(10, 52, 250, 32));

            var teamButton = Utils.AddButton("SELECT TEAM", new Rect(100, 42, 250, 32), ShowTeamWindow);

            TeamText = teamButton.GetComponentInChildren <Text>();

            Utils.AddLabel("Source From:", new Rect(400, 12, 250, 32));

            var sourceButton = Utils.AddButton("SOURCE", new Rect(400, 42, 250, 32), ShowMultiTeamWindow);

            SourceText = sourceButton.GetComponentInChildren <Text>();
            UpdateTeamText();

            Utils.AddLabel("Adjust only:", new Rect(10, 80, 250, 32));
            Utils.AddToggle("Code", new Rect(10, 110, 250, 32),
                            (SIncLibBehaviour.Instance.AdjustDepartment & SIncLibBehaviour.AdjustHRFlags.Code) != 0,
                            (state) =>
            {
                if (state)
                {
                    SIncLibBehaviour.Instance.AdjustDepartment |= SIncLibBehaviour.AdjustHRFlags.Code;
                }
                else
                {
                    SIncLibBehaviour.Instance.AdjustDepartment &= ~SIncLibBehaviour.AdjustHRFlags.Code;
                }
            });
            Utils.AddToggle("Art", new Rect(100, 110, 250, 32),
                            (SIncLibBehaviour.Instance.AdjustDepartment & SIncLibBehaviour.AdjustHRFlags.Art) != 0,
                            (state) =>
            {
                if (state)
                {
                    SIncLibBehaviour.Instance.AdjustDepartment |= SIncLibBehaviour.AdjustHRFlags.Art;
                }
                else
                {
                    SIncLibBehaviour.Instance.AdjustDepartment &= ~SIncLibBehaviour.AdjustHRFlags.Art;
                }
            });
            Utils.AddToggle("Design", new Rect(200, 110, 250, 32),
                            (SIncLibBehaviour.Instance.AdjustDepartment & SIncLibBehaviour.AdjustHRFlags.Design) != 0,
                            (state) =>
            {
                if (state)
                {
                    SIncLibBehaviour.Instance.AdjustDepartment |= SIncLibBehaviour.AdjustHRFlags.Design;
                }
                else
                {
                    SIncLibBehaviour.Instance.AdjustDepartment &=
                        ~SIncLibBehaviour.AdjustHRFlags.Design;
                }
            });

            Utils.AddToggle("Transfer Idle Only", new Rect(10, 140, 250, 32),
                            SIncLibBehaviour.Instance.IdleOnly,
                            (state) => { SIncLibBehaviour.Instance.IdleOnly = state; });

            Utils.AddToggle("Adjust HR rules", new Rect(200, 140, 250, 32),
                            SIncLibBehaviour.Instance.AdjustHR,
                            (state) => { SIncLibBehaviour.Instance.AdjustHR = state; });

            Utils.AddButton("Optimise Team", new Rect(210, 180, 250, 32), () => OptimiseTeam());
            //Utils.AddButton("Show Auto Dev", new Rect(210, 220, 250, 32), () => ShowAutoDev());

            Utils.AddToggle("Get out of stock notifications for acquired software", new Rect(10, 260, 600, 32),
                            SIncLibBehaviour.Instance.StockNotifications,
                            (state) =>
            {
                SIncLibBehaviour.Instance.StockNotifications = state;
            });

            Utils.AddButton("Market Research", new Rect(10, 300, 250, 32), () => SIncLibMarketResearchUI.ShowWindow());
        }
コード例 #6
0
        private static void Init()
        {
            var settings = PropertyHelper.Settings;

            Window = WindowManager.SpawnWindow();
            Window.InitialTitle   = Window.TitleText.text = Window.NonLocTitle = _title;
            Window.name           = "TrainerSettings";
            Window.MainPanel.name = "TrainerSettingsPanel";

            if (Window.name == "TrainerSettings")
            {
                Window.GetComponentsInChildren <Button>()
                .SingleOrDefault(x => x.name == "CloseButton")
                .onClick.AddListener(() => Shown = false);
            }

            List <GameObject> column1 = new List <GameObject>();
            List <GameObject> column2 = new List <GameObject>();
            List <GameObject> column3 = new List <GameObject>();
            List <GameObject> column4 = new List <GameObject>();

            Utils.AddInputBox("Product Name Here", new Rect(Constants.FIRST_COLUMN, Constants.FOURTH_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT),
                              boxText => PropertyHelper.ProductPriceName = boxText, Window);

            Utils.AddButton("Add Money", new Rect(Constants.FIRST_COLUMN, Constants.FIRST_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.IncreaseMoney, Window);

            Utils.AddButton("Add Reputation", new Rect(Constants.SECOND_COLUMN, Constants.FIRST_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.AddRep, Window);

            Utils.AddButton("Set Product Price", new Rect(Constants.SECOND_COLUMN, Constants.FOURTH_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.SetProductPrice, Window);

            Utils.AddButton("Set Product Stock", new Rect(Constants.THIRD_COLUMN, Constants.FOURTH_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.SetProductStock, Window);

            Utils.AddButton("Set Active Users", new Rect(Constants.FOURTH_COLUMN, Constants.FOURTH_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.AddActiveUsers, Window);

            Utils.AddButton("Max Followers", new Rect(Constants.FIRST_COLUMN, Constants.SECOND_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.MaxFollowers, Window);

            Utils.AddButton("Fix Bugs", new Rect(Constants.SECOND_COLUMN, Constants.SECOND_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.FixBugs, Window);

            //Utils.AddButton("Max Code", new Rect(Constants.THIRD_COLUMN, Constants.SECOND_ROW, Constants.Y_BUTTON_WIDTH, Constants.Y_BUTTON_HEIGHT), TrainerBehaviour.MaxCode, Window);

            //Utils.AddButton("Max Art", new Rect(Constants.FOURTH_COLUMN, Constants.SECOND_ROW, Constants.Y_BUTTON_WIDTH, Constants.Y_BUTTON_HEIGHT), TrainerBehaviour.MaxArt, Window);

            Utils.AddButton("Takeover Company", new Rect(Constants.FIRST_COLUMN, Constants.SIXTH_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.TakeoverCompany, Window);

            Utils.AddButton("Subsidiary Company", new Rect(Constants.SECOND_COLUMN, Constants.SIXTH_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.SubDCompany, Window);

            Utils.AddButton("Bankrupt", new Rect(Constants.THIRD_COLUMN, Constants.SIXTH_ROW, Constants.ELEMENT_WIDTH, Constants.ELEMENT_HEIGHT), TrainerBehaviour.ForceBankrupt, Window);

            #region column1

            Utils.AddButton("AI Bankrupt All", TrainerBehaviour.AIBankrupt, ref column1);

            Utils.AddButton("Days per month", TrainerBehaviour.MonthDays, ref column1);

            Utils.AddButton("Clear all loans", TrainerBehaviour.ClearLoans, ref column1);

            Utils.AddButton("Max Skill of employees", TrainerBehaviour.EmployeesToMax, ref column1);

            Utils.AddButton("Remove Products", TrainerBehaviour.RemoveSoft, ref column1);

            Utils.AddButton("Reset age of employees", TrainerBehaviour.ResetAgeOfEmployees, ref column1);

            Utils.AddButton("Sell products stock", TrainerBehaviour.SellProductStock, ref column1);

            Utils.AddButton("Unlock all furniture", TrainerBehaviour.UnlockFurniture, ref column1);

            Utils.AddButton("Unlock all space", TrainerBehaviour.UnlockAllSpace, ref column1);

            //Utils.AddButton("Test", TrainerBehaviour.Test, ref column1);

            #endregion

            #region column2

            Utils.AddToggle("Disable Needs", PropertyHelper.GetProperty(settings, "NoNeeds"),
                            a => PropertyHelper.SetProperty(settings, "NoNeeds", !PropertyHelper.GetProperty(settings, "NoNeeds")), ref column2);

            Utils.AddToggle("Disable Stress", PropertyHelper.GetProperty(settings, "NoStress"),
                            a => PropertyHelper.SetProperty(settings, "NoStress", !PropertyHelper.GetProperty(settings, "NoStress")), ref column2);

            Utils.AddToggle("Free Employees", PropertyHelper.GetProperty(settings, "FreeEmployees"),
                            a => PropertyHelper.SetProperty(settings, "FreeEmployees", !PropertyHelper.GetProperty(settings, "FreeEmployees")), ref column2);

            Utils.AddToggle("Free Staff", PropertyHelper.GetProperty(settings, "FreeStaff"),
                            a => PropertyHelper.SetProperty(settings, "FreeStaff", !PropertyHelper.GetProperty(settings, "FreeStaff")), ref column2);

            Utils.AddToggle("Full Efficiency", PropertyHelper.GetProperty(settings, "FullEfficiency"),
                            a => PropertyHelper.SetProperty(settings, "FullEfficiency", !PropertyHelper.GetProperty(settings, "FullEfficiency")), ref column2);

            Utils.AddToggle("Full Satisfaction", PropertyHelper.GetProperty(settings, "FullSatisfaction"),
                            a => PropertyHelper.SetProperty(settings, "FullSatisfaction", !PropertyHelper.GetProperty(settings, "FullSatisfaction")), ref column2);

            Utils.AddToggle("Lock Age of Employees", PropertyHelper.GetProperty(settings, "LockAge"),
                            a => PropertyHelper.SetProperty(settings, "LockAge", !PropertyHelper.GetProperty(settings, "LockAge")), ref column2);

            Utils.AddToggle("No Vacation", PropertyHelper.GetProperty(settings, "NoVacation"),
                            a => PropertyHelper.SetProperty(settings, "NoVacation", !PropertyHelper.GetProperty(settings, "NoVacation")), ref column2);

            Utils.AddToggle("No Sickness", PropertyHelper.GetProperty(settings, "NoSickness"),
                            a => PropertyHelper.SetProperty(settings, "NoSickness", !PropertyHelper.GetProperty(settings, "NoSickness")), ref column2);

            Utils.AddToggle("Ultra Efficiency (Tick Full Eff first)", PropertyHelper.GetProperty(settings, "UltraEfficiency"),
                            a => PropertyHelper.SetProperty(settings, "UltraEfficiency", !PropertyHelper.GetProperty(settings, "UltraEfficiency")), ref column2);

            #endregion

            #region column3

            Utils.AddToggle("Full Environment", PropertyHelper.GetProperty(settings, "FullEnvironment"),
                            a => PropertyHelper.SetProperty(settings, "FullEnvironment", !PropertyHelper.GetProperty(settings, "FullEnvironment")), ref column3);

            Utils.AddToggle("Full Sun Light", PropertyHelper.GetProperty(settings, "FullRoomBrightness"),
                            a => PropertyHelper.SetProperty(settings, "FullRoomBrightness", !PropertyHelper.GetProperty(settings, "FullRoomBrightness")), ref column3);

            Utils.AddToggle("Lock Temperature To 21", PropertyHelper.GetProperty(settings, "TemperatureLock"),
                            a => PropertyHelper.SetProperty(settings, "TemperatureLock", !PropertyHelper.GetProperty(settings, "TemperatureLock")), ref column3);

            Utils.AddToggle("No Maintenance", PropertyHelper.GetProperty(settings, "NoMaintenance"),
                            a => PropertyHelper.SetProperty(settings, "NoMaintenance", !PropertyHelper.GetProperty(settings, "NoMaintenance")), ref column3);

            Utils.AddToggle("Noise Reduction", PropertyHelper.GetProperty(settings, "NoiseReduction"),
                            a => PropertyHelper.SetProperty(settings, "NoiseReduction", !PropertyHelper.GetProperty(settings, "NoiseReduction")), ref column3);

            Utils.AddToggle("Rooms Never Dirty", PropertyHelper.GetProperty(settings, "CleanRooms"),
                            a => PropertyHelper.SetProperty(settings, "CleanRooms", !PropertyHelper.GetProperty(settings, "CleanRooms")), ref column3);

            Utils.AddToggle("No Education Cost", PropertyHelper.GetProperty(settings, "NoEducationCost"),
                            a => PropertyHelper.SetProperty(settings, "NoEducationCost", !PropertyHelper.GetProperty(settings, "NoEducationCost")), ref column3);

            //Utils.AddToggle("Disable Burglars", PropertyHelper.GetProperty(settings, "DisableBurglars"),
            //    a => PropertyHelper.SetProperty(settings, "DisableBurglars", !PropertyHelper.GetProperty(settings, "DisableBurglars")), ref column3);

            //Utils.AddToggle("Disable Fires", PropertyHelper.GetProperty(settings, "DisableFires"),
            //    a => PropertyHelper.SetProperty(settings, "DisableFires", !PropertyHelper.GetProperty(settings, "DisableFires")), ref column3);

            Utils.AddToggle("Auto Design End", PropertyHelper.GetProperty(settings, "AutoEndDesign"),
                            a => PropertyHelper.SetProperty(settings, "AutoEndDesign", !PropertyHelper.GetProperty(settings, "AutoEndDesign")), ref column3);

            Utils.AddToggle("Auto Research End", PropertyHelper.GetProperty(settings, "AutoEndResearch"),
                            a => PropertyHelper.SetProperty(settings, "AutoEndResearch", !PropertyHelper.GetProperty(settings, "AutoEndResearch")), ref column3);

            Utils.AddToggle("Auto Patent End", PropertyHelper.GetProperty(settings, "AutoEndPatent"),
                            a => PropertyHelper.SetProperty(settings, "AutoEndPatent", !PropertyHelper.GetProperty(settings, "AutoEndPatent")), ref column3);

            Utils.AddToggle("Increase Walk Speed", PropertyHelper.GetProperty(settings, "IncreaseWalkSpeed"),
                            a => PropertyHelper.SetProperty(settings, "IncreaseWalkSpeed", !PropertyHelper.GetProperty(settings, "IncreaseWalkSpeed")), ref column3);

            #endregion

            #region column4

            //Utils.AddToggle("Auto Distribution Deals", PropertyHelper.GetProperty(settings, "AutoDistributionDeals"),
            //    a => PropertyHelper.SetProperty(settings, "AutoDistributionDeals", !PropertyHelper.GetProperty(settings, "AutoDistributionDeals")), ref column4);

            Utils.AddToggle("Free Print", PropertyHelper.GetProperty(settings, "FreePrint"),
                            a => PropertyHelper.SetProperty(settings, "FreePrint", !PropertyHelper.GetProperty(settings, "FreePrint")), ref column4);

            Utils.AddToggle("Free Water & Electricity", PropertyHelper.GetProperty(settings, "NoWaterElectricity"),
                            a => PropertyHelper.SetProperty(settings, "NoWaterElectricity", !PropertyHelper.GetProperty(settings, "NoWaterElectricity")), ref column4);

            Utils.AddToggle("Increase Bookshelf Skill", PropertyHelper.GetProperty(settings, "IncreaseBookshelfSkill"),
                            a => PropertyHelper.SetProperty(settings, "IncreaseBookshelfSkill", !PropertyHelper.GetProperty(settings, "IncreaseBookshelfSkill")), ref column4);

            Utils.AddToggle("Increase Courier Capacity", PropertyHelper.GetProperty(settings, "IncreaseCourierCapacity"),
                            a => PropertyHelper.SetProperty(settings, "IncreaseCourierCapacity", !PropertyHelper.GetProperty(settings, "IncreaseCourierCapacity")), ref column4);

            Utils.AddToggle("Increase Print Speed", PropertyHelper.GetProperty(settings, "IncreasePrintSpeed"),
                            a => PropertyHelper.SetProperty(settings, "IncreasePrintSpeed", !PropertyHelper.GetProperty(settings, "IncreasePrintSpeed")), ref column4);

            Utils.AddToggle("More Hosting Deals", PropertyHelper.GetProperty(settings, "MoreHostingDeals"),
                            a => PropertyHelper.SetProperty(settings, "MoreHostingDeals", !PropertyHelper.GetProperty(settings, "MoreHostingDeals")), ref column4);

            Utils.AddToggle("Reduce Internet Cost", PropertyHelper.GetProperty(settings, "ReduceISPCost"),
                            a => PropertyHelper.SetProperty(settings, "ReduceISPCost", !PropertyHelper.GetProperty(settings, "ReduceISPCost")), ref column4);

            //Utils.AddToggle("Disable Skill Decay", PropertyHelper.GetProperty(settings, "DisableSkillDecay"),
            //    a => PropertyHelper.SetProperty(settings, "DisableSkillDecay", !PropertyHelper.GetProperty(settings, "DisableSkillDecay")), ref column4);

            Utils.AddToggle("No Server Cost", PropertyHelper.GetProperty(settings, "NoServerCost"),
                            a => PropertyHelper.SetProperty(settings, "NoServerCost", !PropertyHelper.GetProperty(settings, "NoServerCost")), ref column4);

            Utils.AddToggle("Reduce Expansion Cost", PropertyHelper.GetProperty(settings, "ReduceExpansionCost"),
                            a => PropertyHelper.SetProperty(settings, "ReduceExpansionCost", !PropertyHelper.GetProperty(settings, "ReduceExpansionCost")), ref column4);

            Utils.AddToggle("Reduce Box Price", PropertyHelper.GetProperty(settings, "ReduceBoxPrice"),
                            a => PropertyHelper.SetProperty(settings, "ReduceBoxPrice", !PropertyHelper.GetProperty(settings, "ReduceBoxPrice")), ref column4);
            #endregion

            Utils.CreateGameObjects(Constants.FIRST_COLUMN, Constants.SETTINGS_WINDOW_SKIP_ROWS, column1.ToArray(), Window);
            Utils.CreateGameObjects(Constants.SECOND_COLUMN, Constants.SETTINGS_WINDOW_SKIP_ROWS, column2.ToArray(), Window);
            Utils.CreateGameObjects(Constants.THIRD_COLUMN, Constants.SETTINGS_WINDOW_SKIP_ROWS, column3.ToArray(), Window);
            Utils.CreateGameObjects(Constants.FOURTH_COLUMN, Constants.SETTINGS_WINDOW_SKIP_ROWS, column4.ToArray(), Window);

            int[] columnsCount = new int[]
            {
                column1.Count(), column2.Count(), column3.Count(), column4.Count()
            };

            Utils.SetWindowSize(columnsCount, Constants.X_SETTINGS_WINDOW, Constants.Y_SETTINGS_WINDOW_OFFSET, Window);
        }