Esempio n. 1
0
        private void OnGUI()
        {
            if (!enabled)
            {
                return;
            }

            GUI.Label(new Rect(10, 10, 200, 40), "CheatCodeGUI");
            GUI.Label(new Rect(10, 50, 100, 100), "FPS: " + (int)(1.0f / Time.smoothDeltaTime));
            if (GUI.Button(new Rect(10, 100, ButtonWidth, ButtonHeight), "Get Infinte Energy"))
            {
                Transform player = LevelHandler.GetPlayer();

                if (player == null)
                {
                    Setinfo("No Player Found. Are you inside a level?");
                }
                else
                {
                    Player.PlayerController controller = player.GetComponent <Player.PlayerController>();
                    controller.EnergyAmount = Byte.MaxValue;
                    Setinfo("Gave Player Infinite Energy.");
                }
            }

            if (GUI.Button(new Rect(10, 150, ButtonWidth, ButtonHeight), "Become Invulerable"))
            {
                Transform player = LevelHandler.GetPlayer();

                if (player == null)
                {
                    Setinfo("No Player Found. Are you inside a level?");
                }
                else
                {
                    Player.PlayerController controller = player.GetComponent <Player.PlayerController>();
                    controller.IsInvincible = true;
                    Setinfo("Made Player Invincible.");
                }
            }

            if (GUI.Button(new Rect(10, 200, ButtonWidth, ButtonHeight / 2), "Jump To Next Checkpoint"))
            {
                if (LevelHandler.GetCurrentLevel() != null)
                {
                    LevelHandler.SetCurrentCheckPointIndex(LevelHandler.GetCurrentCheckPointIndex() + 1);
                    LevelHandler.Respawn();
                    Setinfo("Jumped to next Checkpoint.");
                }
                else
                {
                    Setinfo("No Level Found. Are you inside a level?");
                }
            }

            if (GUI.Button(new Rect(10, 220, ButtonWidth, ButtonHeight / 2), "Jump To Previous Checkpoint"))
            {
                if (LevelHandler.GetCurrentLevel() != null)
                {
                    LevelHandler.SetCurrentCheckPointIndex(LevelHandler.GetCurrentCheckPointIndex() - 1);
                    LevelHandler.Respawn();
                    Setinfo("Jumped to previous Checkpoint.");
                }
                else
                {
                    Setinfo("No Level Found. Are you inside a level?");
                }
            }


            if (GUI.Button(new Rect(10, 250, ButtonWidth, ButtonHeight), "Skip Level"))
            {
                try
                {
                    UnityEngine.SceneManagement.SceneManager.LoadScene(UnityEngine.SceneManagement.SceneManager.GetActiveScene().buildIndex + 1);
                    Setinfo("Trying to skip to next level");
                }
                catch
                {
                    Setinfo("Unable to load next Level");
                }
            }


            GUI.Label(new Rect(10, 300, ButtonWidth, ButtonHeight), "Checkpoint: " + LevelHandler.GetCurrentCheckPointIndex());
            GUI.Label(new Rect(10, 350, ButtonWidth, ButtonHeight), "GameState: " + GameState.GetState().ToString());
            if (GUI.Button(new Rect(10, 400, ButtonWidth, ButtonHeight), "Change State"))
            {
                int val = (int)GameState.GetState() + 1;
                val = val % Enum.GetNames(typeof(GameState.State)).Length;
                GameState.SetState((GameState.State)val);
            }


            //mixerVolumes
            GUI.Label(new Rect(300, 150, 100, 30), "Audio Mixer");

            GUI.Label(new Rect(300, 180, 70, 30), "Master");
            volume = GUI.VerticalSlider(new Rect(300, 200, 30, 80), volume, 20, -80);
            GUI.Label(new Rect(370, 180, 70, 30), "Steps");
            stepsVolume = GUI.VerticalSlider(new Rect(370, 200, 30, 80), stepsVolume, 20, -80);
            GUI.Label(new Rect(440, 180, 70, 30), "Player");
            playerVolume = GUI.VerticalSlider(new Rect(440, 200, 30, 80), playerVolume, 20, -80);


            GUI.Label(new Rect(300, 320, 70, 30), "Enemies");
            enemiesVolume = GUI.VerticalSlider(new Rect(300, 340, 30, 80), enemiesVolume, 20, -80);
            GUI.Label(new Rect(370, 320, 70, 30), "Ambience");
            ambienceVolume = GUI.VerticalSlider(new Rect(370, 340, 30, 80), ambienceVolume, 20, -80);
            GUI.Label(new Rect(440, 320, 70, 30), "Objects");
            objectsVolume = GUI.VerticalSlider(new Rect(440, 340, 30, 80), objectsVolume, 20, -80);


            mixer.SetFloat("Volume", volume);
            mixer.SetFloat("PlayerVolume", playerVolume);
            mixer.SetFloat("AmbienceVolume", ambienceVolume);
            mixer.SetFloat("StepsVolume", stepsVolume);
            mixer.SetFloat("ObjectsVolume", objectsVolume);
            mixer.SetFloat("EnemiesVolume", enemiesVolume);


            //Info text
            if (Time.timeSinceLevelLoad - informationStringSetTimeStamp > 2)
            {
                informationString = "";
            }
            GUI.Label(new Rect(150, 10, 200, 40), informationString);



            shouldDebug = GUI.Toggle(new Rect(350, 10, 100, 30), shouldDebug, "Show Debug?");

            //Debug Log
            if (shouldDebug)
            {
                GUIStyle logStyle = new GUIStyle(GUI.skin.label);
                logStyle.richText = true;
                GUI.Label(new Rect(600, 10, 500, 1000), myLog, logStyle);
            }
            else
            {
                string s = "Shortcuts: \n F7: QuickSave \n F8: QuickLoad \n Esc: Return to main menu \n";

                s += "Sound Listeners: \n";

                foreach (var item in SoundMechanicHandler.GetListeners())
                {
                    s += item.name + "\n";
                }
                s += "\n Energy Sources: \n";

                foreach (var item in EnergyHandler.GetEnergyObjects())
                {
                    s += item.GetTransform().name + "\n";
                }

                GUI.Label(new Rect(600, 10, 500, 1000), s);
            }
        }