Пример #1
0
        private void createButtons()
        {
            int i = 0;
            m_guiList = new LinkedList<GuiObject>();
            m_keyList = new LinkedList<Button>();
            Vector2 t_textOffset = new Vector2(40, 10);

            string[] t_currentBindings = Loader.getInstance().getSettingsBlock("Input", m_settingsPath);

            foreach (string t_string in t_currentBindings)
            {
                string[] t_settingString = t_string.Split('=');
                m_guiList.AddLast(new Text(new Vector2(400, 300 + (40 * i)), t_settingString[0], "VerdanaBold", Color.White, false));
                m_keyList.AddLast(new Button(null, new Vector2(450, 300 + (40 * i++)), t_settingString[1], "VerdanaBold", Color.White, t_textOffset));
            }

            foreach (Button t_button in m_keyList)
            {
                t_button.m_clickEvent += new Button.clickDelegate(awaitInput);
            }

            m_guiList.AddLast(m_soundLabel = new Text(new Vector2(500, 150), "Sound", "VerdanaBold", m_normal, false));
            m_guiList.AddLast(m_musicLabel = new Text(new Vector2(500, 200), "Music", "VerdanaBold", m_normal, false));
            m_guiList.AddLast(m_soundTF = new TextField(new Vector2(600, 150), 100, 20, false, true, false, 3));
            m_guiList.AddLast(m_musicTF = new TextField(new Vector2(600, 200), 100, 20, false, true, false, 3));
            m_soundTF.setText(m_settingsFile["Sound"].ToString());
            m_musicTF.setText(m_settingsFile["Music"].ToString());
            m_guiList.AddLast(m_resolutionText = new Text(new Vector2(155, 160), m_resolutions[m_resolutionIndex], "VerdanaBold", Color.White, false));
            m_resolutionText.setLayer(0.112f);

            m_keyList.AddLast(m_btnNextResolution	= new Button(null, new Vector2(250, 150)));
            m_keyList.AddLast(m_btnPrevResolution	= new Button(null, new Vector2(100, 150)));
            m_keyList.AddLast(m_btnFullscreen		= new Button(null, new Vector2(100, 200), "Full Screen", "VerdanaBold", Color.White, new Vector2(50, 5)));
            m_keyList.AddLast(m_btnAntialias		= new Button(null, new Vector2(100, 250), "Anti-Alias", "VerdanaBold", Color.White, new Vector2(50, 5)));
            m_keyList.AddLast(m_btnVSync			= new Button(null, new Vector2(100, 300), "Vertical Sync", "VerdanaBold", Color.White, new Vector2(50, 5)));
            m_keyList.AddLast(m_btnApply			= new Button("btn_asset_list", new Vector2(100, 350), "Apply", "VerdanaBold", Color.White, new Vector2(5, 3)));
            m_btnSave								= new TextButton(Vector2.Zero, "Accept", "MotorwerkLarge", m_normal, m_hover, m_pressed, Color.Red);
            m_btnExit								= new TextButton(Vector2.Zero, "Cancel", "MotorwerkLarge", m_normal, m_hover, m_pressed, Color.Red);
            m_btnSave.setPosition(new Vector2(15, Game.getInstance().getResolution().Y - 150));
            m_btnExit.setPosition(new Vector2(15, Game.getInstance().getResolution().Y - 90));

            m_btnNextResolution.m_clickEvent	+= new Button.clickDelegate(nextResolution);
            m_btnPrevResolution.m_clickEvent	+= new Button.clickDelegate(prevResolution);
            m_btnFullscreen.m_clickEvent		+= new Button.clickDelegate(toggleButton);
            m_btnAntialias.m_clickEvent			+= new Button.clickDelegate(toggleButton);
            m_btnVSync.m_clickEvent				+= new Button.clickDelegate(toggleButton);
            m_btnApply.m_clickEvent				+= new Button.clickDelegate(testGraphics);
            m_btnSave.m_clickEvent				+= new TextButton.clickDelegate(saveSettings);
            m_btnExit.m_clickEvent				+= new TextButton.clickDelegate(exitSettings);

            if (Game.getInstance().m_graphics.IsFullScreen)
            {
                m_btnFullscreen.setState(Button.State.Toggled);
            }
            if (Game.getInstance().m_graphics.PreferMultiSampling)
            {
                m_btnAntialias.setState(Button.State.Toggled);
            }
            if (Game.getInstance().m_graphics.SynchronizeWithVerticalRetrace)
            {
                m_btnVSync.setState(Button.State.Toggled);
            }

            foreach (Button t_button in m_keyList)
            {
                t_button.setLayer(0.112f);
            }
        }