コード例 #1
0
ファイル: LevelMenu.cs プロジェクト: theKyuu/GLhf
        public override void load()
        {
            base.load();

            m_levelText = new Text(new Vector2(405, 80), "New Level:", "VerdanaBold", Color.White, false);
            m_newLevelName = new TextField(new Vector2(400, 100), 200, 32, true, true, true, 20);
            string[] t_ext = { ".lvl" };
            if (!Directory.Exists("Content//levels//CustomLevels//"))
            {
                System.IO.Directory.CreateDirectory("Content//levels//CustomLevels//");
            }
            string[] t_fileList = Directory.GetFiles("Content//levels//CustomLevels//");

            m_buttons = GuiListFactory.createListFromStringArray(t_fileList, t_ext, "btn_test_empty");
            GuiListFactory.setListPosition(m_buttons, new Vector2(25, 25));
            GuiListFactory.setTextOffset(m_buttons, new Vector2(10, 10));
            GuiListFactory.setButtonDistance(m_buttons, new Vector2(0, 60));

            foreach (Button t_button in m_buttons)
            {
                t_button.m_clickEvent += new Button.clickDelegate(toggleLevel);
            }

            m_buttons.AddLast(m_btnTFAccept = new Button("btn_textfield_accept", new Vector2(600, 100)));
            m_btnTFAccept.m_clickEvent += new Button.clickDelegate(createNewLevel);

            m_btnPlay = new TextButton(new Vector2(500, 200), "Start Level", "MotorwerkLarge", m_normal, m_hover, m_pressed, Color.Red);
            m_btnDevelop = new TextButton(new Vector2(500, 260), "Edit Level", "MotorwerkLarge", m_normal, m_hover, m_pressed, Color.Red);
            m_btnExit = new TextButton(new Vector2(20, Game.getInstance().getResolution().Y - 120), "Exit", "MotorwerkLarge");
            m_btnPlay.m_clickEvent += new TextButton.clickDelegate(startLevelClick);
            m_btnDevelop.m_clickEvent += new TextButton.clickDelegate(editLevelClick);
            m_btnExit.m_clickEvent += new TextButton.clickDelegate(exitClick);
        }
コード例 #2
0
ファイル: LoadAndSaveMenu.cs プロジェクト: melburn/GLhf
        public LoadAndSaveMenu(bool a_willSave, States a_backState)
        {
            m_willSave = a_willSave;
            m_backState = a_backState;
            m_newSaveName = new TextField(new Vector2(400, 100), 200, 32, true, true, true, 20);
            m_newSaveName.setVisible(false);

            TextButton t_slot1 = new TextButton(new Vector2(450, 350), "Slot 1", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_toggle);
            m_buttons.AddLast(t_slot1);
            TextButton t_slot2 = new TextButton(new Vector2(500, 410), "Slot 2", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_toggle);
            m_buttons.AddLast(t_slot2);
            TextButton t_slot3 = new TextButton(new Vector2(550, 470), "Slot 3", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_toggle);
            m_buttons.AddLast(t_slot3);

            updateSaveText();

            foreach (TextButton f_b in m_buttons)
            {
                if (m_willSave)
                {
                    f_b.m_clickEvent += new TextButton.clickDelegate(saveProgressClick);
                }
                else
                {
                    f_b.m_clickEvent += new TextButton.clickDelegate(loadProgressClick);
                }
            }

            m_backButton = new TextButton(new Vector2(20, Game.getInstance().getResolution().Y - 120), "Back", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_toggle);
            m_buttons.AddLast(m_backButton);
            m_backButton.m_clickEvent += new TextButton.clickDelegate(backTo);
        }
コード例 #3
0
ファイル: MainMenu.cs プロジェクト: melburn/GLhf
        public override void load()
        {
            base.load();
            Loader.getInstance().loadSoundSettings("Content//wtf//settings.ini");
            Loader.getInstance().loadGraphicSettings("Content//wtf//settings.ini");

            if (!Directory.Exists("Content//levels//"))
            {
                Directory.CreateDirectory("Content//levels//");
            }

            TextButton t_newGame = new TextButton(Vector2.Zero, "Start Game", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_hover);
            t_newGame.m_clickEvent += new TextButton.clickDelegate(loadGameClick);
            m_buttons.AddFirst(t_newGame);

            TextButton t_levelSelect = new TextButton(Vector2.Zero, "User Levels", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_hover);
            t_levelSelect.m_clickEvent += new TextButton.clickDelegate(levelSelectClick);
            m_buttons.AddFirst(t_levelSelect);

            TextButton t_settings = new TextButton(Vector2.Zero, "Settings", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_hover);
            t_settings.m_clickEvent += new TextButton.clickDelegate(settingsClick);
            m_buttons.AddFirst(t_settings);

            TextButton t_credit = new TextButton(Vector2.Zero, "Credits", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_hover);
            t_credit.m_clickEvent += new TextButton.clickDelegate(creditsClick);
            m_buttons.AddFirst(t_credit);

            TextButton t_exitButton = new TextButton(Vector2.Zero, "Exit", "MotorwerkLarge", m_normal, m_hover, m_pressed, m_hover);
            t_exitButton.m_clickEvent += new TextButton.clickDelegate(exitClick);
            m_buttons.AddFirst(t_exitButton);
            GuiListFactory.setListPosition(m_buttons, new Vector2(20, Game.getInstance().getResolution().Y - 115));
            GuiListFactory.setButtonDistance(m_buttons, new Vector2(0, -60));

            m_buttons.Last().setState(Button.State.Hover);
            m_currentButton = m_buttons.Count - 1;

            if (Music.getInstance().musicIsPlaying())
            {
                Music.getInstance().stop();
            }
            Music.getInstance().loadSong("MenuSong");
            Music.getInstance().play("MenuSong");
        }
コード例 #4
0
ファイル: SettingsMenu.cs プロジェクト: melburn/GLhf
 private void removeDialog()
 {
     m_inputFeedback = null;
     m_buttons.Remove(m_btnYes);
     m_buttons.Remove(m_btnNo);
     m_btnYes = null;
     m_btnNo = null;
     m_dialogBackground = null;
     m_countDown = null;
 }
コード例 #5
0
ファイル: SettingsMenu.cs プロジェクト: melburn/GLhf
        private void createDialog(string a_text)
        {
            Vector2 t_halfRes = Game.getInstance().getResolution() / 2;

            m_inputFeedback = new Text(t_halfRes, a_text, "VerdanaBold", m_normal, false);
            m_inputFeedback.move(new Vector2(-(m_inputFeedback.getBox().Width / 2), -100));
            m_buttons.AddLast(m_btnYes = new TextButton(new Vector2(t_halfRes.X - 175, t_halfRes.Y), "YES", "MotorwerkLarge", m_normal, m_hover, m_pressed, Color.Red));
            m_buttons.AddLast(m_btnNo = new TextButton(new Vector2(t_halfRes.X + 65, t_halfRes.Y), "NO", "MotorwerkLarge", m_normal, m_hover, m_pressed, Color.Red));
            m_btnYes.m_clickEvent += new TextButton.clickDelegate(buttonYes);
            m_btnNo.m_clickEvent += new TextButton.clickDelegate(buttonNo);
            m_dialogBackground = new Box(new Vector2(t_halfRes.X - 200, t_halfRes.Y - 125), 400, 220, Color.Gray, true);
        }
コード例 #6
0
ファイル: SettingsMenu.cs プロジェクト: melburn/GLhf
        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);
            }
        }