Exemplo n.º 1
0
        public SelectLevelScreenState(Surface _sfcGameWindow, List <MenuObject> extraObjs) : base(_sfcGameWindow)
        {
            objs = new List <MenuObject> ();
            foreach (MenuObject obj in extraObjs)
            {
                obj.selectedHandler += EventSelected;
                objs.Add(obj);
            }

            string[] files = Directory.GetFiles(Constants.Constants.LEVEL_PATH);
            foreach (string f in files)
            {
                string     file = Path.GetFileName(f);
                MenuObject obj  = new MenuText(file.Replace(".xml", ""), Color.Gold, Color.Black, 30);
                obj.selectedHandler += EventSelected;
                objs.Add(obj);
            }
            MenuText t = new MenuText("Exit", Color.Gold, Color.Red, 30);

            t.selectedHandler += delegate(MenuObject obj) {
                menuExitHandler(obj);
            };
            objs.Add(t);
            menu = new Menu(objs, MenuLayout.Vertical);
        }
Exemplo n.º 2
0
 public MenuState(Surface _sfcGameWindow) : base(_sfcGameWindow)
 {
     objs       = new List <MenuObject> ();
     menuStart  = new MenuText("Start", Color.Gold, Color.Black, 42);
     menuEditor = new MenuText("Level editor", Color.Gold, Color.Black, 42);
     menuQuit   = new MenuText("Exit", Color.Gold, Color.Red, 42);
     menuQuit.selectedHandler += EventMenuQuit;
 }
Exemplo n.º 3
0
 // Use this for initialization
 void Start()
 {
     menuRenderer = GetComponent<MeshRenderer>();
     settingsObjects = GameObject.FindGameObjectsWithTag("Settings");
     menuObjects = GameObject.FindGameObjectsWithTag("Menu");
     hideSettings();
     instance = this;
     isHovering = false;
 }
Exemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MenuButton"/> class.
 /// </summary>
 /// <param name="relativePosition">The centre position of the menu item, relative to it's owner/parent.</param>
 /// <param name="tile">The button's background sprite.</param>
 /// <param name="icon">The icon to display on the button.</param>
 /// <param name="text">The text to display on the button.</param>
 /// <param name="name">The name of the button.</param>
 public MenuButton(Vector2 relativePosition, Sprite tile, Sprite icon, RenderableText text, string name)
     : base(relativePosition, name, new Vector2(tile.Width, tile.Height))
 {
     this.textIcon = null;
     this.tile = new MenuImage(Vector2.Zero, tile);
     this.icon = new MenuImage(Vector2.Zero, icon);
     Vector2 relativeTextPosition = new Vector2(0.0f, tile.Height * 0.36f);
     this.text = new MenuText(relativeTextPosition, text);
 }
Exemplo n.º 5
0
 // Handles click on Tutorial first stapes button
 public void TutorialFirstSteps()
 {
     this.confirm_button_panel.SetActive(true);
     this.confirm = ConfirmCall.TUTORIAL_FIRST_STEPS;
     this.tutorial_text_title.GetComponent <Text>().text =
         MenuText.GetTitle(this.tutorial_menu_texts[1]);
     this.tutorial_text.GetComponent <Text>().text =
         MenuText.GetText(this.tutorial_menu_texts[1]);
 }
        private void Execute()
        {
            //our logic comes here
            string MT = MenuText.Replace(" ", string.Empty);

            if (!string.IsNullOrEmpty(MT))
            {
                navigateToPage(MT);
            }
        }
Exemplo n.º 7
0
    IEnumerator OpenTransiction()
    {
        LeanTween.moveX(transictionLeft, -12.03f, 1f);
        LeanTween.moveX(transictionRight, 20.30f, 1f);
        yield return(new WaitForSeconds(1f));

        levelSelectText.SetActive(true);
        MenuText.SetActive(true);
        canInteract = true;
    }
Exemplo n.º 8
0
    IEnumerator LoadScene(string level)
    {
        levelSelectText.SetActive(false);
        MenuText.SetActive(false);
        LeanTween.moveX(transictionLeft, 4.020003f, 1f);
        LeanTween.moveX(transictionRight, 4.020003f, 1f);
        yield return(new WaitForSeconds(1f));

        SceneManager.LoadScene(level, LoadSceneMode.Single);
    }
Exemplo n.º 9
0
    }//Update

    public void SetCharacterPerkText(string choice)
    {
        CharacterPerks        = MenuText.SetCharacterPerks(choice);
        CharacterPDesc        = MenuText.SetCharacterPDesc(choice);
        classDescription.text = MenuText.SetCharacterDesc(choice);
        for (int x = 0; x < 6; x++)
        {
            Perks[x].text  = CharacterPerks[x];
            PDescs[x].text = CharacterPDesc[x];
        }
    }
        void EventNameSave(MenuObject obj)
        {
            MenuTextEntry tE = (MenuTextEntry)obj;

            name = tE.text;
            MenuText t = (MenuText)menu.objects [menu.objects.Count - 1];

            t.text              = name;
            t.colourSelected    = Color.Green;
            t.colourNotSelected = Color.Green;
            t.RenderText();
            menu.GenerateWidth();
            GenerateMenuBackground();
            menu.lastSelectChange = -0.2f;
            nameMenu = null;
            map.ToXML(name, vecPlayer, enemies);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Creates a name prompt menu.
        /// </summary>
        /// <param name="contentManager">The content manager to use to load resources.</param>
        /// <param name="spriteBatch">The sprite batch to attach to menu items.</param>
        /// <param name="position">The position of the menu.</param>
        /// <param name="playerName">The stored player's name.</param>
        /// <returns>The new menu created.</returns>
        public static Menu CreateNamePromptMenu(ContentManager contentManager, SpriteBatch spriteBatch, Vector2 position, string playerName)
        {
            Menu namePromptMenu = new Menu(position, 2, 3);
            MenuButton button = null;

            Sprite buttonTile = new Sprite();
            RenderableText textIcon = new RenderableText();
            RenderableText text = new RenderableText();
            buttonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.MediumButtonTile);
            float tileGap = 16.0f;

            Vector2 relativePosition = new Vector2(-tileGap - buttonTile.Width, 0.0f);

            for (int count = 0; count < 3; count++)
            {
                buttonTile = new Sprite();
                buttonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.MediumButtonTile);
                textIcon = new RenderableText();
                textIcon.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontLarge, playerName[count].ToString().ToUpperInvariant());
                text = new RenderableText();
                text.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, playerName[count].ToString().ToLowerInvariant());
                text.Colour = Color.Black;
                button = new MenuButton(relativePosition, buttonTile, textIcon, text, count.ToString());
                namePromptMenu.AddItem(button);
                relativePosition.X += tileGap + buttonTile.Width;
            }

            relativePosition = new Vector2(0.0f, buttonTile.Height + tileGap);
            Sprite largePlayIcon = new Sprite();
            largePlayIcon.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.MediumPlayIcon);
            RenderableText continueText = new RenderableText();
            continueText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.DoneButtonName.ToLowerInvariant());
            button = new MenuButton(relativePosition, buttonTile, largePlayIcon, continueText, MenuConstants.DoneButtonName);
            namePromptMenu.AddItem(button);

            relativePosition = new Vector2(-buttonTile.Width - tileGap, -buttonTile.Height - tileGap);
            float offset = (buttonTile.Width + tileGap) / 2.0f;
            for (int col = 0; col < 5; col++)
            {
                buttonTile = new Sprite();
                buttonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.MediumButtonTile);
                MenuImage background = new MenuImage(relativePosition, buttonTile);
                namePromptMenu.AddItem(background);
                relativePosition.X += offset;
            }

            relativePosition = new Vector2(0.0f, -1.55f * (buttonTile.Height - tileGap));
            RenderableText hello = new RenderableText();
            hello.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.HelloText);
            MenuText helloText = new MenuText(relativePosition, hello);
            namePromptMenu.AddItem(helloText);

            RenderableText enterName = new RenderableText();
            enterName.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.EnterNameText);
            relativePosition.Y += enterName.Height * 1.2f;
            MenuText enterNameText = new MenuText(relativePosition, enterName);
            namePromptMenu.AddItem(enterNameText);

            relativePosition.Y += enterName.Height * 1.2f;
            RenderableText selectLetter = new RenderableText();
            selectLetter.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.SelectLetterText);
            MenuText selectLetterText = new MenuText(relativePosition, selectLetter);
            namePromptMenu.AddItem(selectLetterText);

            relativePosition.Y += enterName.Height * 1.2f;
            RenderableText pressDone = new RenderableText();
            pressDone.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.PressDoneText);
            MenuText pressDoneText = new MenuText(relativePosition, pressDone);
            namePromptMenu.AddItem(pressDoneText);

            return namePromptMenu;
        }
Exemplo n.º 12
0
        /// <summary>
        /// Creates a leaderboard menu.
        /// </summary>
        /// <param name="contentManager">The content manager to use to load resources.</param>
        /// <param name="spriteBatch">The sprite batch to attach to menu items.</param>
        /// <param name="position">The position of the menu.</param>
        /// <returns>The new menu created.</returns>
        public static Menu CreateLeaderboardMenu(ContentManager contentManager, SpriteBatch spriteBatch, Vector2 position)
        {
            Menu leaderboardMenu = new Menu(position, 1, 1);
            MenuButton button = null;
            MenuText text = null;
            Sprite largeButtonTile = new Sprite();
            largeButtonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeButtonTile);
            Vector2 relativePos = Vector2.Zero;
            float tileOffset = 32.0f;

            relativePos = new Vector2((-largeButtonTile.Width - tileOffset) * 1.5f, (-largeButtonTile.Height - tileOffset) * 0.5f);
            Sprite largeBackIcon = new Sprite();
            largeBackIcon.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeBackIcon);
            RenderableText backText = new RenderableText();
            backText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.BackButtonName.ToLowerInvariant());
            button = new MenuButton(relativePos, largeButtonTile, largeBackIcon, backText, MenuConstants.BackButtonName);
            leaderboardMenu.AddItem(button);

            relativePos = new Vector2((-largeButtonTile.Width) * 0.5f, (-largeButtonTile.Height - tileOffset) * 0.5f);
            for (int row = 0; row < 2; row++)
            {
                for (int col = 0; col < 2; col++)
                {
                    largeButtonTile = new Sprite();
                    largeButtonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeButtonTile);
                    MenuImage background = new MenuImage(relativePos, largeButtonTile);
                    leaderboardMenu.AddItem(background);
                    relativePos.X += largeButtonTile.Width;
                }

                relativePos.Y += largeButtonTile.Height;
                relativePos.X = (-largeButtonTile.Width) * 0.5f;
            }

            relativePos = new Vector2(0.0f, -largeButtonTile.Height * 0.825f);
            for (int count = 0; count < 10; count++)
            {
                RenderableText placeHolderText = new RenderableText();
                placeHolderText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, string.Empty);
                text = new MenuText(relativePos, placeHolderText, true);
                leaderboardMenu.AddItem(text);
                relativePos.Y += tileOffset * 1.5f;
            }

            return leaderboardMenu;
        }
Exemplo n.º 13
0
        /// <summary>
        /// Creates a level complete menu.
        /// </summary>
        /// <param name="contentManager">The content manager to use to load resources.</param>
        /// <param name="spriteBatch">The sprite batch to attach to menu items.</param>
        /// <param name="position">The position of the menu.</param>
        /// <returns>The new menu created.</returns>
        public static Menu CreateLevelCompleteMenu(ContentManager contentManager, SpriteBatch spriteBatch, Vector2 position)
        {
            Menu levelCompleteMenu = new Menu(position, 1, 3);
            MenuButton button = null;
            MenuText text = null;
            Sprite largeButtonTile = new Sprite();
            largeButtonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeButtonTile);
            Vector2 relativePos = Vector2.Zero;
            float tileSpacing = 32.0f;

            relativePos = new Vector2(-largeButtonTile.Width - tileSpacing, largeButtonTile.Height * 0.75f);
            Sprite largePlayIcon = new Sprite();
            largePlayIcon.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargePlayIcon);
            RenderableText continueText = new RenderableText();
            continueText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.ContinueButtonName.ToLowerInvariant());
            button = new MenuButton(relativePos, largeButtonTile, largePlayIcon, continueText, MenuConstants.ContinueButtonName);
            levelCompleteMenu.AddItem(button);

            relativePos.X = 0.0f;
            Sprite largeRetryIcon = new Sprite();
            largeRetryIcon.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeRetryIcon);
            RenderableText retryText = new RenderableText();
            retryText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.RetryButtonName.ToLowerInvariant());
            button = new MenuButton(relativePos, largeButtonTile, largeRetryIcon, retryText, MenuConstants.RetryButtonName);
            levelCompleteMenu.AddItem(button);

            relativePos.X = largeButtonTile.Width + tileSpacing;
            Sprite largeExitIcon = new Sprite();
            largeExitIcon.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeExitIcon);
            RenderableText exitText = new RenderableText();
            exitText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.ExitButtonName.ToLowerInvariant());
            button = new MenuButton(relativePos, largeButtonTile, largeExitIcon, exitText, MenuConstants.ExitButtonName);
            levelCompleteMenu.AddItem(button);

            relativePos = new Vector2(-largeButtonTile.Width - tileSpacing, -largeButtonTile.Height * 0.75f);
            for (int row = 0; row < 2; row++)
            {
                for (int col = 0; col < 4; col++)
                {
                    largeButtonTile = new Sprite();
                    largeButtonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeButtonTile);
                    MenuImage background = new MenuImage(relativePos, largeButtonTile);
                    levelCompleteMenu.AddItem(background);
                    relativePos.X += largeButtonTile.Width * 0.745f;
                }

                relativePos.Y += largeButtonTile.Height * 0.375f;
                relativePos.X = -largeButtonTile.Width - tileSpacing;
            }

            relativePos = new Vector2(0.0f, -largeButtonTile.Height * 1.1f);
            RenderableText levelComplete = new RenderableText();
            levelComplete.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.LevelCompleteText);
            text = new MenuText(relativePos, levelComplete);
            levelCompleteMenu.AddItem(text);

            relativePos += new Vector2(0.0f, levelComplete.Height * 1.25f);
            RenderableText highScoreText = new RenderableText();
            highScoreText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.LevelCompleteText);
            text = new MenuText(relativePos, highScoreText, true);
            levelCompleteMenu.AddItem(text);

            relativePos += new Vector2(0.0f, levelComplete.Height * 1.5f);
            RenderableText scoreText = new RenderableText();
            scoreText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.ScoreText);
            text = new MenuText(relativePos, scoreText);
            levelCompleteMenu.AddItem(text);

            relativePos += new Vector2(0.0f, levelComplete.Height * 1.25f);
            RenderableText score = new RenderableText();
            score.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.ScoreDefaultText);
            text = new MenuText(relativePos, score, true);
            levelCompleteMenu.AddItem(text);

            relativePos += new Vector2(0.0f, levelComplete.Height * 1.5f);
            RenderableText ratingText = new RenderableText();
            ratingText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.RatingText);
            text = new MenuText(relativePos, ratingText);
            levelCompleteMenu.AddItem(text);

            relativePos += new Vector2(0.0f, levelComplete.Height * 1.25f);
            RenderableText rating = new RenderableText();
            rating.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.GetRating(0));
            text = new MenuText(relativePos, rating, true);
            levelCompleteMenu.AddItem(text);

            return levelCompleteMenu;
        }
Exemplo n.º 14
0
    //THE GRAPHICS SETTINGS < OH MY GOD WHY!!! > *ALL UPDATED BY PLAYERPREF*
    void Awake()
    {
        //Get the native width and height
        nativeWidth = Screen.width;
        nativeHeight = Screen.height;

        //Get Main Menu Button component
        mainMenuButton = GetComponent <MainMenuButton>();
        //If the main menu button compnent was not found find the pause menu script
        if(!mainMenuButton)
        {
            pauseMenuButton = GetComponent <PauseMenuButton>();
        }
        menuText = GetComponent <MenuText>();

        //Gameplay Options Initialise
        //Difficulty
        if(!PlayerPrefs.HasKey ("Difficulty"))
        {
            PlayerPrefs.SetInt ("Difficulty", defaultDifficulty);
            difficulty = defaultDifficulty;
        }
        else
        {
            difficulty = PlayerPrefs.GetInt ("Difficulty");
        }

        //Damage Text
        if(!PlayerPrefs.HasKey ("DamageText"))
        {
            PlayerPrefs.SetInt ("DamageText", defaultDamageText);
            if(damageTextToggle)
            {
                damageTextToggle.isOn = true;
            }
        }
        else
        {
            if(damageTextToggle)
            {
                int currentDamageText = PlayerPrefs.GetInt ("DamageText");

                if(currentDamageText == 0)
                {
                    damageTextToggle.isOn = false;
                }
                else
                {
                    damageTextToggle.isOn = true;
                }
            }
        }

        //Invert X
        if(!PlayerPrefs.HasKey ("InvertX"))
        {
            PlayerPrefs.SetInt ("InvertX", defaultInvertX);
            if(invertXToggle)
            {
                invertXToggle.isOn = false;
            }
        }
        else
        {
            if(invertXToggle)
            {
                int currentInvertX = PlayerPrefs.GetInt ("InvertX");

                if(currentInvertX == 0)
                {
                    invertXToggle.isOn = false;
                }
                else
                {
                    invertXToggle.isOn = true;
                }
            }
        }

        //Invert Y
        if(!PlayerPrefs.HasKey ("InvertY"))
        {
            PlayerPrefs.SetInt ("InvertY", defaultInvertY);
            if(invertYToggle)
            {
                invertYToggle.isOn = false;
            }
        }
        else
        {
            if(invertYToggle)
            {
                int currentInvertY = PlayerPrefs.GetInt ("InvertY");

                if(currentInvertY == 0)
                {
                    invertYToggle.isOn = false;
                }
                else
                {
                    invertYToggle.isOn = true;
                }
            }
        }

        //Mouse Swap Toggle
        if(!PlayerPrefs.HasKey ("MouseSwap"))
        {
            PlayerPrefs.SetInt ("MouseSwap", defaultSwapMouseButton);
            if(mouseSwapToggle)
            {
                mouseSwapToggle.isOn = false;
            }
        }
        else
        {
            if(mouseSwapToggle)
            {
                int currentMouseSwap = PlayerPrefs.GetInt ("MouseSwap");

                if(currentMouseSwap == 0)
                {
                    mouseSwapToggle.isOn = false;
                }
                else
                {
                    mouseSwapToggle.isOn = true;
                }
            }
        }

        //Mouse Sensitivity
        if(mouseSensitivityScrollbar)
        {
            if(!PlayerPrefs.HasKey ("MouseSensitivity"))
            {
                PlayerPrefs.SetFloat ("MouseSensitivity", defaultMouseSensitivity);

                mouseSensitivityScrollbar.value = defaultMouseSensitivity / 10f;
            }
            else
            {
                mouseSensitivityScrollbar.value = PlayerPrefs.GetFloat ("MouseSensitivity") / 10f;
            }
        }

        //Mouse Smooth X
        if(mouseSmoothXScrollbar)
        {
            if(!PlayerPrefs.HasKey ("MouseSmoothX"))
            {
                PlayerPrefs.SetFloat ("MouseSmoothX", defaultMouseSmoothX);

                mouseSmoothXScrollbar.value = defaultMouseSmoothX;
            }
            else
            {
                mouseSmoothXScrollbar.value = PlayerPrefs.GetFloat ("MouseSmoothX");
            }
        }

        //Mouse Smooth Y
        if(mouseSmoothYScrollbar)
        {
            if(!PlayerPrefs.HasKey ("MouseSmoothY"))
            {
                PlayerPrefs.SetFloat ("MouseSmoothY", defaultMouseSmoothY);

                mouseSmoothYScrollbar.value = defaultMouseSmoothY;
            }
            else
            {
                mouseSmoothYScrollbar.value = PlayerPrefs.GetFloat ("MouseSmoothY");
            }
        }

        //Master Volume
        if(masterVolumeScrollbar)
        {
            if(!PlayerPrefs.HasKey ("MasterVolume"))
            {
                PlayerPrefs.SetFloat ("MasterVolume", defaultMasterVolume);
                masterVolumeScrollbar.value = defaultMasterVolume;
                masterVolume = defaultMasterVolume;
                AudioListener.volume = defaultMasterVolume;
            }
            else
            {
                float currentMasterVolume = PlayerPrefs.GetFloat ("MasterVolume");
                masterVolumeScrollbar.value = currentMasterVolume;
                masterVolume = currentMasterVolume;
                AudioListener.volume = currentMasterVolume;
            }
        }

        //SFX Volume
        if(sfxVolumeScrollbar)
        {
            if(!PlayerPrefs.HasKey ("SFXVolume"))
            {
                PlayerPrefs.SetFloat ("SFXVolume", defaultSFXVolume);

                sfxVolumeScrollbar.value = defaultSFXVolume;

                sfxVolume = defaultSFXVolume * masterVolume;
            }
            else
            {
                float currentSFXVolume = PlayerPrefs.GetFloat ("SFXVolume");
                sfxVolumeScrollbar.value = currentSFXVolume;
                sfxVolume = currentSFXVolume * masterVolume;
            }
        }

        //Music Volume
        if(musicVolumeScrollbar)
        {
            if(!PlayerPrefs.HasKey ("MusicVolume"))
            {
                PlayerPrefs.SetFloat ("MusicVolume", defaultMusicVolume);

                musicVolumeScrollbar.value = defaultMusicVolume;

                musicVolume = defaultMusicVolume * masterVolume;
            }
            else
            {
                float currentMusicVolume = PlayerPrefs.GetFloat ("MusicVolume");
                musicVolumeScrollbar.value = currentMusicVolume;
                musicVolume = currentMusicVolume * masterVolume;
            }
        }

        //Speaker Mode
        if(!PlayerPrefs.HasKey ("SpeakerMode"))
        {
            PlayerPrefs.SetInt ("SpeakerMode", defaultSpeakerMode);
        }

        //Resolution
        if(width)
        {
            width.text = Screen.width.ToString();
        }
        if(height)
        {
            height.text = Screen.height.ToString();
        }

        //V Sync
        if(!PlayerPrefs.HasKey ("VSync"))
        {
            PlayerPrefs.SetInt ("VSync", defaultVSync);
            QualitySettings.vSyncCount = defaultVSync;
        }
        else
        {
            QualitySettings.vSyncCount = PlayerPrefs.GetInt ("VSync");
        }

        //Brightness
        if(brightnessScrollbar)
        {
            if(!PlayerPrefs.HasKey ("Brightness"))
            {
                PlayerPrefs.SetFloat ("Brightness", defaultBrightness);

                brightnessScrollbar.value = defaultBrightness;
            }
            else
            {
                brightnessScrollbar.value = PlayerPrefs.GetFloat ("Brightness");
            }
        }

        //Contrast
        if(contrastScrollbar)
        {
            if(!PlayerPrefs.HasKey ("Contrast"))
            {
                PlayerPrefs.SetFloat ("Contrast", defaultContrast);

                contrastScrollbar.value = defaultContrast;
            }
            else
            {
                contrastScrollbar.value = PlayerPrefs.GetFloat ("Contrast");
            }
        }

        //Mouse Cursor Size
        if(mouseCursorSizeScrollbar)
        {
            if(!PlayerPrefs.HasKey ("MouseCursorSize"))
            {
                PlayerPrefs.SetFloat ("MouseCursorSize", defaultMouseCursorSize);

                mouseCursorSizeScrollbar.value = defaultMouseCursorSize;
            }
            else
            {
                mouseCursorSizeScrollbar.value = PlayerPrefs.GetFloat ("MouseCursorSize");
            }
        }

        //Graphics

        //Motion Blur
        if(!PlayerPrefs.HasKey ("MotionBlur"))
        {
            PlayerPrefs.SetFloat ("MotionBlur", defaultMotionBlur);
        }

        //Bloom
        if(!PlayerPrefs.HasKey ("Bloom"))
        {
            PlayerPrefs.SetFloat ("Bloom", defaultBloom);
        }

        //Sun Shafts
        if(!PlayerPrefs.HasKey ("SunShaft"))
        {
            PlayerPrefs.SetFloat ("SunShaft", defaultSunShaft);
        }

        //Graphics Quality: 0 = Low, 1 = Medium, 2 = High, 3 = Ultra, 4 = Custom
        if(!PlayerPrefs.HasKey ("GraphicsQuality"))
        {
            GraphicsMediumQuality (); //Set Everything to Medium Quality on default
        }
        else
        {
            int currentGraphics = PlayerPrefs.GetInt ("GraphicsQuality");

            switch (currentGraphics)
            {
            case 0:
                GraphicsLowQuality ();
                break;
            case 1:
                GraphicsMediumQuality ();
                break;
            case 2:
                GraphicsHighQuality ();
                break;
            case 3:
                GraphicsUltraQuality ();
                break;
            case 4:
                menuText.UpdateAllGraphicsText ();
                break;
            }
        }
    }
Exemplo n.º 15
0
        /// <summary>
        /// Creates an about menu.
        /// </summary>
        /// <param name="contentManager">The content manager to use to load resources.</param>
        /// <param name="spriteBatch">The sprite batch to attach to menu items.</param>
        /// <param name="position">The position of the menu.</param>
        /// <returns>The new menu created.</returns>
        public static Menu CreateAboutMenu(ContentManager contentManager, SpriteBatch spriteBatch, Vector2 position)
        {
            Menu aboutMenu = new Menu(position, 1, 1);
            MenuButton button = null;
            MenuText text = null;
            RenderableText creditsText = new RenderableText();
            Sprite largeButtonTile = new Sprite();
            largeButtonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeButtonTile);
            Vector2 relativePos = Vector2.Zero;
            float tileOffset = 32.0f;

            relativePos = new Vector2((-largeButtonTile.Width - tileOffset) * 1.5f, (-largeButtonTile.Height - tileOffset) * 0.5f);
            Sprite largeBackIcon = new Sprite();
            largeBackIcon.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeBackIcon);
            RenderableText backText = new RenderableText();
            backText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFont, MenuConstants.BackButtonName.ToLowerInvariant());
            button = new MenuButton(relativePos, largeButtonTile, largeBackIcon, backText, MenuConstants.BackButtonName);
            aboutMenu.AddItem(button);

            relativePos = new Vector2((-largeButtonTile.Width) * 0.5f, (-largeButtonTile.Height - tileOffset) * 0.5f);
            for (int row = 0; row < 2; row++)
            {
                for (int col = 0; col < 2; col++)
                {
                    largeButtonTile = new Sprite();
                    largeButtonTile.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.LargeButtonTile);
                    MenuImage background = new MenuImage(relativePos, largeButtonTile);
                    aboutMenu.AddItem(background);
                    relativePos.X += largeButtonTile.Width;
                }

                relativePos.Y += largeButtonTile.Height;
                relativePos.X = (-largeButtonTile.Width) * 0.5f;
            }

            relativePos = new Vector2(0.0f, -largeButtonTile.Height * 0.875f);
            float smallGap = tileOffset * 1.2f;
            float largeGap = tileOffset * 2.2f;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.DesignArtworkText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += smallGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.ProgrammingSfxText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += smallGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.KeithText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += largeGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.MusicText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += smallGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.MusicSourceText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += largeGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.ModelText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += smallGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.ModelSourceText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += largeGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.ThanksText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += smallGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.TestersText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            relativePos.Y += smallGap;

            creditsText = new RenderableText();
            creditsText.InitializeAndLoad(spriteBatch, contentManager, ContentLocations.SegoeUIFontMedium, MenuConstants.LecturersText);
            text = new MenuText(relativePos, creditsText, true);
            aboutMenu.AddItem(text);
            return aboutMenu;
        }
Exemplo n.º 16
0
 internal void AddMenuText(string strText,Trigger trigger)
 {
     MenuText menuText = new MenuText(Parent, trigger);
     menuText.Text = strText;
     components.Add(menuText);
     menuTexts.Add(menuText);
 }
Exemplo n.º 17
0
 internal void SetText()
 {
     ContinueButtonText.text = MenuText.Get(MenuText.Entry.Continue);
     RestartButtonText.text  = MenuText.Get(MenuText.Entry.Restart);
     ExitButtonText.text     = MenuText.Get(MenuText.Entry.Exit);
 }
Exemplo n.º 18
0
 internal void AddMenuText(MenuText menuText)
 {
     components.Add(menuText);
     menuTexts.Add(menuText);
 }
        public LevelEditorState(Surface _sfcGameWindow, string _name = "untitled") : base(_sfcGameWindow)
        {
            camera     = new Camera();
            name       = _name;
            map        = new Map();
            map.editor = true;
            vecPlayer  = new Vector(new Point(2, 3));
            player     = new EditorSprite(vecPlayer, new Player(0, 0));
            enemies    = new List <EditorSprite> ();
            if (name.EndsWith(".xml"))
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(Constants.Constants.GetResourcePath(name));
                map.FromXML(doc);
                XmlNode p = doc.SelectSingleNode("//player");
                player.gridPos.X = Convert.ToInt16(p.Attributes ["x"].InnerText);
                player.gridPos.Y = Convert.ToInt16(p.Attributes ["y"].InnerText);
                name             = name.Replace(".xml", "");
                foreach (XmlNode node in doc.SelectNodes("//enemy"))
                {
                    EnemyType    typ   = (EnemyType)Enum.Parse(typeof(EnemyType), node.Attributes ["type"].InnerText);
                    int          x     = Convert.ToInt16(node.Attributes ["x"].InnerText);
                    int          y     = Convert.ToInt16(node.Attributes ["y"].InnerText);
                    Enemy        enemy = Enemy.GetEnemy(typ, x, y);
                    EditorSprite s     = new EditorSprite(new Vector(new Point(x, y)), enemy);
                    Vector       vec   = map.GetTilePos(x, y);
                    s.x    = vec.X;
                    s.y    = vec.Y;
                    s.data = (object)typ;
                    enemies.Add(s);
                }
            }
            else
            {
                map.EmptyMap();
            }

            Vector v = map.GetTilePos((int)player.gridPos.X, (int)player.gridPos.Y);

            player.x = v.X;
            player.y = v.Y;

            grid = new EditorGrid();

            List <MenuObject> menuObjs = new List <MenuObject> ();

            foreach (TileType typ in Enum.GetValues(typeof(TileType)))
            {
                MenuText t = new MenuText(typ.ToString(), Color.Gold, Color.Black, TEXT_SIZE);
                menuObjs.Add(t);
            }
            foreach (EnemyType typ in Enum.GetValues(typeof(EnemyType)))
            {
                MenuText t = new MenuText(typ.ToString(), Color.Gold, Color.Gray, TEXT_SIZE);
                menuObjs.Add(t);
            }
            MenuText menuNoEnemy = new MenuText("NoEnemy", Color.Gold, Color.Gray, TEXT_SIZE);

            menuObjs.Add(menuNoEnemy);
            MenuText menuPlayer = new MenuText("Player", Color.Gold, Color.Blue, TEXT_SIZE);

            menuObjs.Add(menuPlayer);
            MenuText menuSave = new MenuText("Save", Color.Gold, Color.Red, TEXT_SIZE);

            menuSave.selectedHandler += EventSave;
            menuObjs.Add(menuSave);
            MenuText menuDelete = new MenuText("Delete", Color.Gold, Color.Red, TEXT_SIZE);

            menuDelete.selectedHandler += EventDelete;
            menuObjs.Add(menuDelete);
            MenuText menuQuit = new MenuText("Exit", Color.Gold, Color.Red, TEXT_SIZE);

            menuQuit.selectedHandler += delegate(MenuObject obj) {
                backToMenuHandler(obj);
            };
            menuObjs.Add(menuQuit);
            MenuText menuName = new MenuText(name, Color.Green, Color.Green, TEXT_SIZE);

            menuObjs.Add(menuName);
            menu = new Menu(menuObjs, MenuLayout.Horizontal, 5, 700);
            GenerateMenuBackground();
        }
Exemplo n.º 20
0
        private Dictionary <MenuType, Menu> PrepareMenus()
        {
            var Menus = new Dictionary <MenuType, Menu>();
            //button sprite
            var buttonsprite = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/54b2d246e0e35be.png");
            //Buttons
            var SinglePlayerBtn = new MenuButton("Singleplayer",
                                                 new Font("Munro", 25, System.Drawing.FontStyle.Bold), Brushes.Gainsboro,
                                                 55, 200, 250,
                                                 50, buttonsprite);
            var HighScoresBtn = new MenuButton("High Scores",
                                               new Font("Munro", 25, System.Drawing.FontStyle.Bold), Brushes.Gainsboro,
                                               55, 255, 250,
                                               50, buttonsprite);
            var HighScoreToTitleScrn = new MenuButton("Return to start",
                                                      new Font("Munro", 25, System.Drawing.FontStyle.Bold), Brushes.Gainsboro,
                                                      55, 475, 250,
                                                      50, buttonsprite);
            var ExitBtn = new MenuButton("Exit", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                         Brushes.Gainsboro,
                                         55, 375, 250,
                                         50, buttonsprite);
            var PauseRestart = new MenuButton("Restart", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                              Brushes.Gainsboro,
                                              800 / 2 - 170, 120, 340,
                                              50, buttonsprite);
            var PauseLvlOptions = new MenuButton("Level Options",
                                                 new Font("Munro", 25, System.Drawing.FontStyle.Bold), Brushes.Gainsboro,
                                                 800 / 2 - 170, 175, 340,
                                                 50, buttonsprite);
            var PauseToTitleScrn = new MenuButton("Return to start",
                                                  new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                  Brushes.Gainsboro,
                                                  800 / 2 - 170, 230, 340,
                                                  50, buttonsprite);
            var DeathToTitleScrn = new MenuButton("Return to start",
                                                  new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                  Brushes.Gainsboro,
                                                  800 / 2 - 170, 230, 340,
                                                  50, buttonsprite);
            var VictoryToTitleScrn = new MenuButton("Return to start",
                                                    new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                    Brushes.Gainsboro,
                                                    800 / 2 - 170, 350, 340,
                                                    50, buttonsprite);
            var DeathLvlOptions = new MenuButton("Level Options",
                                                 new Font("Munro", 25, System.Drawing.FontStyle.Bold), Brushes.Gainsboro,
                                                 800 / 2 - 170, 175, 340,
                                                 50, buttonsprite);
            var DeathRestart = new MenuButton("Restart", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                              Brushes.Gainsboro,
                                              800 / 2 - 170, 120, 340,
                                              50, buttonsprite);
            var VictoryRestart = new MenuButton("Restart", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                Brushes.Gainsboro,
                                                800 / 2 - 170, 405, 340,
                                                50, buttonsprite);
            var StartGame = new MenuButton("Start Game", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                           Brushes.Gainsboro,
                                           800 / 2 - 170, 340, 340,
                                           50, buttonsprite);
            var PreviousCharacter = new MenuButton("<", new Font("Calibri", 26), Brushes.Gainsboro,
                                                   800 / 2 - 170, 250, 25,
                                                   75, buttonsprite);
            var NextCharacter = new MenuButton(">", new Font("Calibri", 26), Brushes.Gainsboro,
                                               800 / 2 + 145, 250, 25,
                                               75, buttonsprite);
            var PreviousLevel = new MenuButton("<", new Font("Calibri", 26), Brushes.Gainsboro,
                                               800 / 2 - 170, 100, 25,
                                               75, buttonsprite);
            var NextLevel = new MenuButton(">", new Font("Calibri", 26), Brushes.Gainsboro,
                                           800 / 2 + 145, 100, 25,
                                           75, buttonsprite);
            var LevelOptionsToTitleScrn = new MenuButton("Return to start",
                                                         new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                         Brushes.Gainsboro,
                                                         800 / 2 - 170, 395, 340,
                                                         50, buttonsprite);
            var GoToNextLevel = new MenuButton("Continue",
                                               new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                               Brushes.Gainsboro,
                                               800 / 2 - 170, 295, 340,
                                               50, buttonsprite);
            var InstructionsBtn = new MenuButton("Instructions", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                 Brushes.Gainsboro,
                                                 55, 310, 250,
                                                 50, buttonsprite);
            var InstructionsScreenToTitleScrnBtn = new MenuButton("Return to start", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                                  Brushes.Gainsboro,
                                                                  55, 475, 250,
                                                                  50, buttonsprite);
            var CreditsToTitleBtn = new MenuButton("Return to start", new Font("Munro", 25, System.Drawing.FontStyle.Bold),
                                                   Brushes.Gainsboro,
                                                   55, 475, 250,
                                                   50, buttonsprite);
            //Panels
            var LevelSpriteBack     = new MenuPanel(800 / 2 - 145, 100, 75, 75, buttonsprite);
            var LevelTitleBack      = new MenuPanel(800 / 2 - 74, 100, 221, 75, buttonsprite);
            var CharacterSpriteBack = new MenuPanel(800 / 2 - 145, 250, 75, 75, buttonsprite);
            var CharacterTitleBack  = new MenuPanel(800 / 2 - 74, 250, 221, 75, buttonsprite);
            var OverlayPanel        = new MenuPanel(800 / 12 * 3, 0, 800 / 12 * 6, 600,
                                                    Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/menu-background.jpg"));
            var LevelOptionsPanel = new MenuPanel(800 / 12 * 3, 0, 800 / 12 * 6, 600,
                                                  Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/menu-background.jpg"));
            //Texts
            var PauseText =
                new MenuText("Pause", new Font("ArcadeClassic", 60), Brushes.White)
            {
                y = 50
            };
            var DeadText =
                new MenuText("GAME  OVER", new Font("ArcadeClassic", 60), Brushes.White)
            {
                y = 50
            };
            var VictoryText =
                new MenuText("Victory", new Font("ArcadeClassic", 60), Brushes.White)
            {
                y = 120
            };

            VictoryHighScoreText =
                new MenuText("Score: " + gm.Points, new Font("ArcadeClassic", 60), Brushes.White)
            {
                y = 180
            };
            var CharacterName = new MenuText(Player.CharacterNames[Player.Character_index],
                                             new Font("Calibri", 32, System.Drawing.FontStyle.Bold),
                                             Brushes.DarkSlateGray, 800 / 2 - 55, 600 / 2 - 34);
            var LevelName = new MenuText(Level.Levels[Level.Level_index].Name,
                                         new Font("Calibri", 32, System.Drawing.FontStyle.Bold),
                                         Brushes.DarkSlateGray, 800 / 2 - 55, 115);
            var SelectLevel =
                new MenuText("Select  Level", new Font("ArcadeClassic", 40), Brushes.White)
            {
                y = 50
            };
            var SelectCharacter =
                new MenuText("Select  Character", new Font("ArcadeClassic", 40),
                             Brushes.White)
            {
                y = 200
            };
            var HighScores = new MenuText(ScoreController.GetTopActive(),
                                          new Font("ArcadeClassic", 40, System.Drawing.FontStyle.Underline), Brushes.White)
            {
                y = 200
            };
            var Instructions = new MenuText("You can control your character with 'A', 'D' and spacebar."
                                            + Environment.NewLine
                                            + "The goal is to reach the red flag at the end of each level."
                                            + Environment.NewLine
                                            + "Good luck!",
                                            new Font("ArcadeClassic", 25), Brushes.White)
            {
                y = 200
            };
            var CopyrightDisclaimer = new MenuText("This game is for educational purpose only", new Font("ArcadeClassic", 21, System.Drawing.FontStyle.Italic), Brushes.White)
            {
                y = 440
            };
            var Congratulations = new MenuText("Congratulations", new Font("ArcadeClassic", 60), Brushes.White)
            {
                y = 120
            };
            var CongratulationsTxt = new MenuText("You have succesfully completed the game, good job!",
                                                  new Font("ArcadeClassic", 25), Brushes.White)
            {
                y = 200
            };
            var Credits = new MenuText("Credits", new Font("ArcadeClassic", 60), Brushes.White)
            {
                y = 280
            };
            var CreditsTxt = new MenuText("This game was made by:"
                                          + Environment.NewLine
                                          + "Buster, Bart, Remy, Nolen, Felix en Bram",
                                          new Font("ArcadeClassic", 25), Brushes.White)
            {
                y = 360
            };
            //Images
            var CharacterSprite = new MenuImage(800 / 2 - 132, 262, 48, 48,
                                                Image.FromFile("Animations/" + Player.CharacterNames[Player.Character_index] + "/normal.gif"), true);
            var LevelSprite = new MenuImage(800 / 2 - 132, 112, 48, 48,
                                            Image.FromFile("Levels/" + Level.Levels[Level.Level_index].Name + ".gif"), true);
            var VictorySprite = new MenuImage(368, 50, 64, 64,
                                              Image.FromFile("Scene/trophy.png"), true);

            //Click events
            GoToNextLevel.Clicked += delegate
            {
                if (Level.Level_index != Level.Levels.Count - 1)
                {
                    Menus[MenuType.Completed].Deactivate();
                    Level.Level_index++;
                    gm.StartLevel(true);
                }
                else
                {
                    Level.Level_index = 0;
                    Menus[MenuType.Completed].Deactivate();
                    Menus[MenuType.Credits].Activate();
                }
            };
            LevelOptionsToTitleScrn.Clicked += delegate
            {
                Menus[MenuType.LevelOptions].Deactivate();
                Menus[MenuType.TitleScreen].Activate();
            };
            NextLevel.Clicked += delegate
            {
                if (Level.Level_index != Level.Levels.Count - 1)
                {
                    Level.Level_index++;
                }
                else
                {
                    Level.Level_index = 0;
                }
                LevelSprite.Sprite = Image.FromFile("Levels/" + Level.Levels[Level.Level_index].Name + ".gif");
                LevelName.Content  = Level.Levels[Level.Level_index].Name;
                HighScores.Content = ScoreController.GetTopActive();
            };
            PreviousLevel.Clicked += delegate
            {
                if (Level.Level_index == 0)
                {
                    Level.Level_index = Level.Levels.Count - 1;
                }
                else
                {
                    Level.Level_index--;
                }
                LevelSprite.Sprite = Image.FromFile("Levels/" + Level.Levels[Level.Level_index].Name + ".gif");
                LevelName.Content  = Level.Levels[Level.Level_index].Name;
                HighScores.Content = ScoreController.GetTopActive();
            };
            NextCharacter.Clicked += delegate
            {
                if (Player.Character_index != Player.CharacterNames.Count - 1)
                {
                    Player.Character_index++;
                }
                else
                {
                    Player.Character_index = 0;
                }
                CharacterSprite.Sprite =
                    Image.FromFile("Animations/" + Player.CharacterNames[Player.Character_index] + "/normal.gif");
                CharacterName.Content = Player.CharacterNames[Player.Character_index];
            };
            PreviousCharacter.Clicked += delegate
            {
                if (Player.Character_index == 0)
                {
                    Player.Character_index = Player.CharacterNames.Count - 1;
                }
                else
                {
                    Player.Character_index -= 1;
                }
                CharacterSprite.Sprite =
                    Image.FromFile("Animations/" + Player.CharacterNames[Player.Character_index] + "/normal.gif");
                CharacterName.Content = Player.CharacterNames[Player.Character_index];
            };
            StartGame.Clicked += delegate
            {
                Menus[MenuType.LevelOptions].Deactivate();
                gm.StartLevel(true);
            };
            DeathLvlOptions.Clicked += delegate
            {
                Menus[MenuType.Death].Deactivate();
                Menus[MenuType.LevelOptions].Activate();
            };
            DeathToTitleScrn.Clicked += delegate
            {
                Menus[MenuType.Death].Deactivate();
                Menus[MenuType.TitleScreen].Activate();
            };
            VictoryToTitleScrn.Clicked += delegate
            {
                Menus[MenuType.Completed].Deactivate();
                Menus[MenuType.TitleScreen].Activate();
            };
            DeathRestart.Clicked += delegate
            {
                Menus[MenuType.Death].Deactivate();
                gm.StartLevel(true);
            };
            VictoryRestart.Clicked += delegate
            {
                Menus[MenuType.Completed].Deactivate();
                gm.StartLevel(true);
            };
            SinglePlayerBtn.Clicked += delegate
            {
                Menus[MenuType.TitleScreen].Deactivate();
                Menus[MenuType.LevelOptions].Activate();
            };
            ExitBtn.Clicked      += delegate { Environment.Exit(0); };
            PauseRestart.Clicked += delegate
            {
                Menus[MenuType.Pause].Deactivate();
                gm.StartLevel(true);
            };
            HighScoresBtn.Clicked += delegate
            {
                Menus[MenuType.TitleScreen].Deactivate();
                Menus[MenuType.HighScoreScreen].Activate();
            };
            PauseLvlOptions.Clicked += delegate
            {
                Menus[MenuType.Pause].Deactivate();
                Menus[MenuType.LevelOptions].Activate();
            };
            PauseToTitleScrn.Clicked += delegate
            {
                Menus[MenuType.Pause].Deactivate();
                Menus[MenuType.TitleScreen].Activate();
            };
            HighScoreToTitleScrn.Clicked += delegate
            {
                Menus[MenuType.HighScoreScreen].Deactivate();
                Menus[MenuType.TitleScreen].Activate();
            };
            InstructionsBtn.Clicked += delegate
            {
                Menus[MenuType.TitleScreen].Deactivate();
                Menus[MenuType.InstructionsScreen].Activate();
            };
            InstructionsScreenToTitleScrnBtn.Clicked += delegate
            {
                Menus[MenuType.InstructionsScreen].Deactivate();
                Menus[MenuType.TitleScreen].Activate();
            };
            CreditsToTitleBtn.Clicked += delegate
            {
                Menus[MenuType.Credits].Deactivate();
                Menus[MenuType.TitleScreen].Activate();
            };
            //adds to Menu's
            Menus.Add(MenuType.TitleScreen, new Menu(ref gm.screen,
                                                     new List <MenuItem> {
                SinglePlayerBtn, HighScoresBtn, InstructionsBtn, ExitBtn
            },
                                                     Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/Title.gif")));
            Menus.Add(MenuType.HighScoreScreen, new Menu(ref gm.screen,
                                                         new List <MenuItem>
            {
                HighScoreToTitleScrn, LevelSpriteBack, LevelTitleBack, PreviousLevel, NextLevel, LevelName,
                LevelSprite, HighScores
            },
                                                         Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/HighScores.gif")));
            Menus.Add(MenuType.InstructionsScreen, new Menu(ref gm.screen,
                                                            new List <MenuItem>
            {
                InstructionsScreenToTitleScrnBtn, Instructions, CopyrightDisclaimer
            },
                                                            Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/Title.gif")));
            Menus.Add(MenuType.Pause, new Menu(ref gm.screen,
                                               new List <MenuItem> {
                OverlayPanel, PauseText, PauseToTitleScrn, PauseRestart, PauseLvlOptions
            },
                                               null));
            Menus.Add(MenuType.Death, new Menu(ref gm.screen,
                                               new List <MenuItem> {
                OverlayPanel, DeadText, DeathToTitleScrn, DeathRestart, DeathLvlOptions
            },
                                               null));
            Menus.Add(MenuType.Completed, new Menu(ref gm.screen,
                                                   new List <MenuItem>
            {
                OverlayPanel, VictorySprite, VictoryText, VictoryHighScoreText, VictoryToTitleScrn, VictoryRestart,
                GoToNextLevel
            },
                                                   null));
            Menus.Add(MenuType.Credits, new Menu(ref gm.screen, new List <MenuItem>
            {
                Congratulations, CongratulationsTxt, Credits, CreditsTxt, CreditsToTitleBtn
            },
                                                 Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/back.gif")));
            Menus.Add(MenuType.LevelOptions, new Menu(ref gm.screen,
                                                      new List <MenuItem>
            {
                LevelOptionsPanel,
                StartGame,
                PreviousCharacter,
                CharacterSpriteBack,
                CharacterTitleBack,
                CharacterSprite,
                NextCharacter,
                CharacterName,
                LevelSpriteBack,
                LevelTitleBack,
                PreviousLevel,
                NextLevel,
                LevelName,
                LevelSprite,
                SelectCharacter,
                SelectLevel,
                LevelOptionsToTitleScrn
            },
                                                      Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "Scene/back.gif")));
            return(Menus);
        }
 private void createShortMessage(string message, int seconds)
 {
     MenuText.createShortMessage(message);
     Invoke("clearIn", seconds);
 }
Exemplo n.º 22
0
        protected void AddMenuText(string text)
        {
            MenuItem mi = new MenuText(text);

            AddMenuItem(mi);
        }
 private void clearIn()
 {
     MenuText.clearMessage();
 }
 void HandleMouse()
 {
     if (Mouse.IsButtonPressed(MouseButton.PrimaryButton))
     {
         MenuText mT = (MenuText)menu.objects [menu.objects.Count - 1];
         if (mT.colourSelected != Color.Red)
         {
             mT.colourSelected    = Color.Red;
             mT.colourNotSelected = Color.Red;
             mT.RenderText();
         }
         int tileX, tileY;
         tileX = tileY = 0;
         bool tileXA = false;
         bool tileYA = false;
         for (int x = 0; x < Constants.Constants.MAP_WIDTH; x++)
         {
             if (Mouse.MousePosition.X + map.overallCamera.x < x * Tile.WIDTH + x * 2 + 1)
             {
                 tileX  = x - 1;
                 tileXA = true;
                 break;
             }
         }
         for (int y = 0; y < Constants.Constants.MAP_HEIGHT; y++)
         {
             if (Mouse.MousePosition.Y + map.overallCamera.y < y * Tile.WIDTH + y * 2 + 1)
             {
                 tileY  = y - 1;
                 tileYA = true;
                 break;
             }
         }
         if (tileXA && tileYA)
         {
             MenuText menuText = (MenuText)menu.objects [menu.selected];
             Vector   v        = map.GetTilePos(tileX, tileY);
             if (menuText.text == "Player")
             {
                 player.gridPos = new Vector(new Point(tileX, tileY));
                 player.x       = v.X;
                 player.y       = v.Y;
             }
             else if (menuText.text == "NoEnemy")
             {
                 EditorSprite removeSprite = null;
                 foreach (EditorSprite s in enemies)
                 {
                     if (s.gridPos.X == tileX && s.gridPos.Y == tileY)
                     {
                         removeSprite = s;
                     }
                 }
                 if (removeSprite != null)
                 {
                     enemies.Remove(removeSprite);
                 }
             }
             else if (menuText.text.EndsWith("Enemy"))
             {
                 EnemyType    typ = (EnemyType)Enum.Parse(typeof(EnemyType), menuText.text);
                 Enemy        e   = Enemy.GetEnemy(typ, 0, 0);
                 EditorSprite s   = new EditorSprite(new Vector(new Point(tileX, tileY)), e);
                 s.data = (object)typ;
                 for (int i = 0; i < enemies.Count; i++)
                 {
                     EditorSprite sprite = enemies [i];
                     if (sprite.gridPos.X == s.gridPos.X && sprite.gridPos.Y == s.gridPos.Y)
                     {
                         enemies.Remove(sprite);
                         i--;
                     }
                 }
                 s.x = v.X;
                 s.y = v.Y;
                 enemies.Add(s);
             }
             else if (menuText.text != "Exit" && menuText.text != "Save" && menuText.text != name)
             {
                 TileType typ = (TileType)Enum.Parse(typeof(TileType), menuText.text, true);
                 Graphic  t   = map.lookup [typ].Clone();
                 if (typ == TileType.Fire)
                 {
                     t.colour = Color.Orange;
                 }
                 map.map [tileY] [tileX].tileType    = typ;
                 map.map [tileY] [tileX].tileGraphic = t;
             }
         }
     }
 }