Ejemplo n.º 1
0
    public void LoadCameras()
    {
        GameObject[] tempCams = GameObject.FindGameObjectsWithTag("ViewerCamera");


        viewerCams = new GameObject[tempCams.Length];
        int currID;

        for (int x = 0; x < tempCams.Length; x++)
        {
            currID = tempCams[x].GetComponent <ViewerCamIndex>().myID;
            viewerCams[currID - 1] = tempCams[x];
        }

        cameras    = new GameObject[viewerCams.Length + 1];
        cameras[0] = GameObject.Find("Main Camera");

        for (int i = 0; i < viewerCams.Length; ++i)
        {
            cameras[i + 1] = viewerCams[i];
            (cameras[i + 1].GetComponent <Camera>() as Camera).enabled = false;
        }
        currCameraIndex = defaultCameraIndex = FindMainCameraIndex();

        camera = cameras[defaultCameraIndex].GetComponent <Camera>() as Camera;

        GameObject SpawnManager = GameObject.Find("Code");

        MoverTest = SpawnManager.GetComponent <GameManagerVik>();
    }
Ejemplo n.º 2
0
    void Awake()
    {
        myTransform      = transform;
        lastPosition     = myTransform.position;
        lastRotation     = myTransform.rotation;
        minimumExtent    = Mathf.Min(Mathf.Min(collider.bounds.extents.x, collider.bounds.extents.y), collider.bounds.extents.z);
        partialExtent    = minimumExtent;
        sqrMinimumExtent = minimumExtent * minimumExtent;


        GameObject SpawnManager = GameObject.Find("Code");

        if (SpawnManager)
        {
            MoverTest = SpawnManager.GetComponent <GameManagerVik>();
        }
        else
        {
            Debug.Log("No code object");
        }

        photonView.RPC("updateMovement", PhotonTargets.OthersBuffered, myTransform.position, myTransform.rotation);

        rigidbody.isKinematic = true;
    }
Ejemplo n.º 3
0
    //These must be updated every frame. Put only those things you can't escape from updating every frame here.
    void FixedUpdate()
    {
        lastFrameTime = thisFrameTime;
        thisFrameTime = (float)PhotonNetwork.time;

        photonDelta = thisFrameTime - lastFrameTime;

        GameObject     SpawnManager = GameObject.Find("Code");
        GameManagerVik MoverTest    = SpawnManager.GetComponent <GameManagerVik>();

        if (MoverTest.selectedClass == "Viewer")
        {
            if (revealColours == true)
            {
                if (buttonRep == null)
                {
                    this.renderer.material.mainTexture = viewerTexture;
                }
                else
                {
                    buttonRep.renderer.material.mainTexture = viewerTexture;
                }

                if (target)
                {
                    target.renderer.material.mainTexture = viewerTexture;
                }
            }
            else
            {
                if (buttonRep == null)
                {
                    this.renderer.material.mainTexture = originalTexture;
                }
                else
                {
                    buttonRep.renderer.material.mainTexture = originalTexture;
                }

                if (target)
                {
                    target.renderer.material.mainTexture = originalTargetTexture;
                }
            }
        }

        if (liftShldMove)
        {
            movingTheLift();
        }

        if (MoverTest.gameStarted && !started)
        {
            localLiftTime = -5.0f;
            sendLiftTime(PhotonTargets.Others);
            started = true;
        }
    }
Ejemplo n.º 4
0
 // Use this for initialization
 void Start()
 {
     GameObject SpawnManager = GameObject.Find("Code");
     MoverTest = SpawnManager.GetComponent<GameManagerVik>();
     if(MoverTest.selectedClass == "Spectator"){
     Destroy(GameObject.Find("Main Camera"));
     this.camera.enabled = true;
     DontDestroyOnLoad(this);
     }
 }
Ejemplo n.º 5
0
    //public Texture2D chatBG;
    void Awake()
    {
        GameObject SpawnManager = GameObject.Find("Code");
        manager = SpawnManager.GetComponent<GameManagerVik>();

        var dt = DateTime.Now;
        var timeStamp = String.Format("{0:hh-mm-ss-yyyy-MM-dd}", dt);

        //Access the initial chatlog to see if it is empty
        path = Application.dataPath;
        fileName = "/ChatLog " + timeStamp + ".txt";
        path = Application.dataPath +fileName;

        SP = this;
    }
Ejemplo n.º 6
0
    private string fileName; //file name for the chat log

    //public Texture2D chatBG;

    void Awake()
    {
        GameObject SpawnManager = GameObject.Find("Code");

        manager = SpawnManager.GetComponent <GameManagerVik>();


        var dt        = DateTime.Now;
        var timeStamp = String.Format("{0:hh-mm-ss-yyyy-MM-dd}", dt);

        //Access the initial chatlog to see if it is empty
        path     = Application.dataPath;
        fileName = "/ChatLog " + timeStamp + ".txt";
        path     = Application.dataPath + fileName;

        SP = this;
    }
Ejemplo n.º 7
0
    void Awake()
    {
        myTransform = transform;
            lastPosition = myTransform.position;
            lastRotation = myTransform.rotation;
            minimumExtent = Mathf.Min(Mathf.Min(collider.bounds.extents.x, collider.bounds.extents.y), collider.bounds.extents.z);
           partialExtent = minimumExtent;
           sqrMinimumExtent = minimumExtent * minimumExtent;

            GameObject SpawnManager = GameObject.Find("Code");
            if (SpawnManager)
                MoverTest = SpawnManager.GetComponent<GameManagerVik>();
            else
            {
                Debug.Log("No code object");
            }

            photonView.RPC("updateMovement", PhotonTargets.OthersBuffered, myTransform.position, myTransform.rotation);

            rigidbody.isKinematic =true;
    }
Ejemplo n.º 8
0
    void Setup()
    // If target and/or camera is not set, try using fallbacks
    {
        if (target == null)
        {
            target = GetComponent <Collider> ();
        }

        if (camera == null)
        {
            if (Camera.main != null)
            {
                GameObject[] tempCams = GameObject.FindGameObjectsWithTag("ViewerCamera");

                viewerCams = new GameObject[tempCams.Length];
                int currID;
                for (int x = 0; x < tempCams.Length; x++)
                {
                    currID = tempCams[x].GetComponent <ViewerCamIndex>().myID;
                    viewerCams[currID - 1] = tempCams[x];
                }

                cameras    = new GameObject[viewerCams.Length + 1];
                cameras[0] = GameObject.Find("Main Camera");

                for (int i = 0; i < viewerCams.Length; ++i)
                {
                    cameras[i + 1] = viewerCams[i];
                    (cameras[i + 1].GetComponent <Camera>() as Camera).enabled = false;
                }
                currCameraIndex = defaultCameraIndex = FindMainCameraIndex();

                camera = cameras[defaultCameraIndex].GetComponent <Camera>() as Camera;

                GameObject SpawnManager = GameObject.Find("Code");
                MoverTest = SpawnManager.GetComponent <GameManagerVik>();
            }
        }
    }
Ejemplo n.º 9
0
    // Use this for initialization
    void OnLevelWasLoaded()
    {
        ReadyCount            = 0;
        isWaitingForNextStage = PlayersHaveReachedEnd = false;

        lastFrameTime  = thisFrameTime = (int)Time.time;
        delta          = 0;
        isBuilderAtEnd = false;
        isMoverAtEnd   = false;
        isJumperAtEnd  = false;
        isViewerAtEnd  = false;

        finalAnalyticsSent = false;

//		statusText = "Press [Spacebar] to Go To Next Stage";

        //Now I'll handle it here.
        GameManagerVik.setNextLevel(Application.loadedLevel);
        currGameManager = GameObject.Find("Code").GetComponent <GameManagerVik>();

        if (currGameManager.level_tester_mode)
        {
            TargetReadyCount = 1;
        }
        else
        {
            TargetReadyCount = 4;
        }

        timeLeft = levelTimeInMinutes * 60;

        //Initialise hashtable for each level ending scores
        LevelCompleteGUI.showWindow     = false;
        clearLevelScore["Clear Time"]   = 0;
        clearLevelScore["Total Deaths"] = 0;
    }
Ejemplo n.º 10
0
    void Start()
    {
        GameObject SpawnManager = GameObject.Find("Code");

        manager = SpawnManager.GetComponent <GameManagerVik>();
    }
Ejemplo n.º 11
0
    // If target and/or camera is not set, try using fallbacks
    void Setup()
    {
        if (target == null)
        {
            target = GetComponent<Collider> ();
        }

        if (camera == null)
        {
            if (Camera.main != null)
            {
                cameras = GameObject.FindGameObjectsWithTag("MainCamera");

                currCameraIndex = defaultCameraIndex = FindMainCameraIndex();

                camera = cameras[defaultCameraIndex].GetComponent<Camera>() as Camera;

                GameObject SpawnManager = GameObject.Find("Code");
                MoverTest = SpawnManager.GetComponent<GameManagerVik>();

                //Camera mainCam = GameObject.Find("Main Camera").GetComponent<Camera>();
                //print(mainCam);

                //camera = mainCam;
            }
        }
    }
Ejemplo n.º 12
0
    void FixedUpdate()
    {
        GameObject     SpawnManager = GameObject.Find("Code");
        GameManagerVik MoverTest    = SpawnManager.GetComponent <GameManagerVik>();

        if (!started)
        {
            if (MoverTest.gameStarted)
            {
                resetDoorTime(PhotonTargets.All);
                lastTriggered = 3;
                started       = true;
            }
        }


        if (MoverTest.selectedClass == "Viewer")
        {
            //print(revealColours);
            if (revealColours == true)
            {
                if (target == null)
                {
                    this.renderer.material.mainTexture = viewerTexture;
                }
                else
                {
                    target.renderer.material.mainTexture = viewerTexture;
                }

                if (door1)
                {
                    door1.renderer.material.mainTexture = viewerTexture;
                }
                if (door2)
                {
                    door2.renderer.material.mainTexture = viewerTexture;
                }
                if (door3)
                {
                    door3.renderer.material.mainTexture = viewerTexture;
                }
                if (door4)
                {
                    door4.renderer.material.mainTexture = viewerTexture;
                }
            }
            else
            {
                if (target == null)
                {
                    this.renderer.material.mainTexture = originalTexture;
                }
                else
                {
                    target.renderer.material.mainTexture = originalTexture;
                }

                if (door1)
                {
                    door1.renderer.material.mainTexture = originalDoor1Texture;
                }
                if (door2)
                {
                    door2.renderer.material.mainTexture = originalDoor2Texture;
                }
                if (door3)
                {
                    door3.renderer.material.mainTexture = originalDoor3Texture;
                }
                if (door4)
                {
                    door4.renderer.material.mainTexture = originalDoor4Texture;
                }
            }
        }
    }
Ejemplo n.º 13
0
    // Use this for initialization
    void OnLevelWasLoaded()
    {
        ReadyCount = 0;
        isWaitingForNextStage = PlayersHaveReachedEnd = false;

        lastFrameTime = thisFrameTime = (int)Time.time;
        delta = 0;
        isBuilderAtEnd = false;
        isMoverAtEnd = false;
        isJumperAtEnd = false;
        isViewerAtEnd = false;

        finalAnalyticsSent = false;

        //		statusText = "Press [Spacebar] to Go To Next Stage";

        //Now I'll handle it here.
        GameManagerVik.setNextLevel(Application.loadedLevel);
        currGameManager = GameObject.Find("Code").GetComponent<GameManagerVik>();

        if (currGameManager.level_tester_mode)
            TargetReadyCount = 1;
        else
            TargetReadyCount = 4;

        timeLeft = levelTimeInMinutes * 60;

        //Initialise hashtable for each level ending scores
        LevelCompleteGUI.showWindow = false;
        clearLevelScore["Clear Time"] = 0;
        clearLevelScore["Total Deaths"] = 0;
    }
Ejemplo n.º 14
0
    // Use this for initialization
    void Start()
    {
        ReadyCount = 0;
        isWaitingForNextStage = PlayersHaveReachedEnd = false;

        isBuilderAtEnd = false;
        isMoverAtEnd = false;
        isJumperAtEnd = false;
        isViewerAtEnd = false;

        nextLevel = GameManagerVik.nextLevel;
        currGameManager = GameObject.Find("Code").GetComponent<GameManagerVik>();
        currController = GameObject.Find("Code").GetComponent<ThirdPersonControllerNET>();

        //last level check
        if (nextLevel > (Application.levelCount - 1))
            nextLevel = -1;

        //Debug.Log("nextLevel at start = "+nextLevel);
    }
Ejemplo n.º 15
0
    void drawLobbyWindow(int windowID)
    {
        // use the spike function to add the spikes
        AddSpikes(lobbyWindowRect.width);

        //Player name
        GUILayout.BeginHorizontal();
//        GUILayout.Space(Screen.width * 0.1f);
        GUILayout.Label("Welcome back, " + PhotonNetwork.playerName, GUILayout.Height(Screen.height * 0.1f));
        GUILayout.EndHorizontal();

        //Player's latest stage
//        GUILayout.Space(Screen.width * 0.1f);
        GUILayout.Label("Max level reached: " + GameManagerVik.maxStageReached, "ShortLabel");
        //GUILayout.Space(Screen.width * 0.1f);
        GUILayout.BeginHorizontal();
        GUILayout.Label("Select a level");
        if (GUILayout.Button("<<"))
        {
            MainMenuVik.levelSelected--;
            if (MainMenuVik.levelSelected < 1)
            {
                MainMenuVik.levelSelected = 1;
            }
        }
        GUILayout.Label("Level " + MainMenuVik.levelSelected.ToString(), "LegendaryText");
        if (GUILayout.Button(">>"))
        {
            MainMenuVik.levelSelected++;
            if (MainMenuVik.levelSelected > GameManagerVik.maxStageReached)
            {
                MainMenuVik.levelSelected = GameManagerVik.maxStageReached;
            }
        }
        GUILayout.EndHorizontal();
        GUILayout.Space(10);
        GUILayout.Label("", "Divider");
        GameManagerVik.setNextLevel(MainMenuVik.levelSelected);

        //Rooms list
        GUILayout.Label("ROOMS LIST", GUILayout.Height(Screen.height * 0.1f));
        GUILayout.BeginScrollView(Vector2.zero);
        string[] roomNames = updateAllRoomsNames();

        GUILayout.BeginHorizontal();
        GUILayout.BeginVertical();
        for (int x = 0; x < 10; x++)
        {
            if (GUILayout.Button(roomNames[x] + allRoomsCapacity[x], GUILayout.Width(Screen.width * 0.2f)))
            {
                attemptEnterRoom(roomNames[x]);
            }
        }
        GUILayout.EndVertical();
        GUILayout.BeginVertical();
        for (int x = 10; x < 20; x++)
        {
            if (GUILayout.Button(roomNames[x] + allRoomsCapacity[x], GUILayout.Width(Screen.width * 0.2f)))
            {
                attemptEnterRoom(roomNames[x]);
            }
        }
        GUILayout.EndVertical();
        GUILayout.EndHorizontal();
        GUILayout.EndScrollView();
        GUILayout.Space(5);

        GUILayout.BeginHorizontal();
        if (GUILayout.Button("Log out"))
        {
            Debug.Log("LOG OUT");
            MainMenuVik.currentMenuState = menuState.login;
        }
        if (GUILayout.Button("Quit to windows"))
        {
            Debug.Log("QUIT TO WINDOWS");
            Application.Quit();
        }
        GUILayout.EndHorizontal();

        GUI.DragWindow(new Rect(0, 0, 10000, 10000));
    }
Ejemplo n.º 16
0
    // Update is called once per frame
    void Update()
    {
        //	if (currGameManager.level_tester_mode) return;

        if (!started)
        {
            if (currGameManager.gameStarted)
            {
                timeLeft = levelTimeInMinutes * 60;
                started  = true;

                Debug.Log(currGameManager.selectedClass + " Calling Sync on Join");
                photonView.RPC("SyncOnJoin", PhotonTargets.Others);
            }

            return;
        }
        if (alreadyLoading)
        {
            return;
        }
        if (PlayersHaveReachedEnd)
        {
            clearLevelScore["Total Deaths"] = GameManagerVik.deathCount;

            if (ReadyCount >= TargetReadyCount)
            {
                //Now done in a call to GameManagerVik

                /*
                 * nextLevel += 1;
                 *                              //last level check
                 *                              if (nextLevel > (Application.levelCount - 1))
                 *                                      nextLevel = -1;
                 *                              GameManagerVik.nextLevel = nextLevel;
                 *                                      Debug.Log("nextLevel updated = "+nextLevel);
                 */
                GameManagerVik.checkNextLevel();                 //automatic
                nextLevel = GameManagerVik.nextLevel;



                alreadyLoading = true;



                //		Playtomic.Log.LevelAverageMetric("Time", 0, Time.timeSinceLevelLoad);



                if (nextLevel > -1)
                {
                    Application.LoadLevel(nextLevel);
                    //timeLeft = levelTimeInMinutes * 60;
                }
                else
                {
                    PhotonNetwork.LeaveRoom();
                }
            }
        }

        if (timeLeft <= 0)
        {
            timeLeft = 0;
            PlayersHaveReachedEnd = true;

            //I need to do this here to prevent repeatedly sending an incomplete statement.
            if (!finalAnalyticsSent)
            {
                finalAnalyticsSent = true;

                clearTime      = (int)((float)PhotonNetwork.time - GameManagerVik.startTime);
                completeStatus = "incomplete";

                clearLevelScore["Clear Time"] = "Failed";
                LevelCompleteGUI.showWindow   = true;
                GetComponent <LevelCompleteGUI>().countStarsGrade(timeLeft, GameManagerVik.deathCount, GameManagerVik.gemsCollected);
            }
        }

        if (Input.GetKeyUp(KeyCode.Space) && PlayersHaveReachedEnd)
        {
            isWaitingForNextStage       = true;
            LevelCompleteGUI.statusText = "Waiting for other players";

            photonView.RPC("callReady", PhotonTargets.AllBuffered);
        }
    }
Ejemplo n.º 17
0
    public void LoadCameras()
    {
        GameObject[] tempCams = GameObject.FindGameObjectsWithTag("ViewerCamera");

                viewerCams = new GameObject[tempCams.Length];
                int currID;
                for(int x = 0; x < tempCams.Length; x++){
                    currID = tempCams[x].GetComponent<ViewerCamIndex>().myID;
                    viewerCams[currID - 1] = tempCams[x];
                }

                cameras = new GameObject[viewerCams.Length + 1];
                cameras[0] = GameObject.Find("Main Camera");

                for (int i = 0; i < viewerCams.Length; ++i)
                {
                    cameras[i + 1] = viewerCams[i];
                    (cameras[i + 1].GetComponent<Camera>() as Camera).enabled = false;
                }
                currCameraIndex = defaultCameraIndex = FindMainCameraIndex();

                camera = cameras[defaultCameraIndex].GetComponent<Camera>() as Camera;

                GameObject SpawnManager = GameObject.Find("Code");
                MoverTest = SpawnManager.GetComponent<GameManagerVik>();
    }
Ejemplo n.º 18
0
 void Start()
 {
     GameObject SpawnManager = GameObject.Find("Code");
     manager = SpawnManager.GetComponent<GameManagerVik>();
 }
Ejemplo n.º 19
0
    void Update()
    // Handle rotation here to ensure smooth application.
    {
        if (isRemotePlayer)
        {
            return;
        }

        float rotationAmount;

        if (target.name.Contains("Builder"))
        {
            if (Input.GetKeyUp("1") && !menuOn)
            {
                if (blockammo > 0)
                {
                    //Creating object
                    var builtBlock = PhotonNetwork.Instantiate("pBlock", transform.position + transform.forward, transform.rotation, 0);
                    builtBlock.tag = "PlacedBlock";

                    blockammo--;
                }
            }
            if (Input.GetKeyUp("2") && !menuOn)
            {
                if (plankammo > 0)
                {
                    var builtPlatform = PhotonNetwork.Instantiate("pPlatform", transform.position + transform.forward * transform.localScale.z * 2, transform.rotation, 0);
                    builtPlatform.tag = "PlacedPlatform";

                    plankammo--;
                }
            }
        }

        if (target.name.Contains("Mover"))
        {
            if (gravityGunState == GravityGunState.Free)
            {
                if (Input.GetKeyUp("t") && !menuOn)
                {
                    //float range = target.transform.localScale.z * triggerHoldRange;
                    //float rad = target.collider.radius;

                    RaycastHit hit;
                    //removed layermask, not actually needed
                    //int layerMask = 1 << 8;
                    print("Searching for pickable objects");
                    //if (Physics.SphereCast(target.transform.position, 0.2f, target.transform.forward, out hit, 2.0f, layerMask)){
                    //origin,          height, direction,                hit,	 radius, layer
                    if (Physics.CapsuleCast(target.transform.position, (target.transform.position - target.transform.up), 0.2f, target.transform.forward, out hit, holdDistance * 2.0f))                                               //distance,								 ,radius
                    {
                        if (hit.rigidbody)
                        {
                            Debug.Log("Picked an object");
                            rigid = hit.rigidbody;

                            //      rigid.isKinematic = true;
                            //This prevents vikings from picking up other vikings. Only platforms and blocks can be picked up.
                            if (rigid.tag.Contains("BlockTrigger") || rigid.tag.Contains("PlacedBlock") ||
                                rigid.tag.Contains("PlatformTrigger") || rigid.tag.Contains("PlacedPlatform"))
                            {
                                if (rigid.gameObject.GetComponent <BoxUpdate>())
                                {
                                    rigid.gameObject.GetComponent <BoxUpdate>().setCarry(true);
                                }
                                if (rigid.gameObject.GetComponent <ProjectileUpdate>())
                                {
                                    rigid.gameObject.GetComponent <ProjectileUpdate>().enabled = true;
                                }
                                gravityGunState = GravityGunState.Catch;
                            }
                            else
                            {
                                rigid = null;
                            }
                        }
                    }
                }
            }

            else if (gravityGunState == GravityGunState.Catch)
            {
                //holdDistance =  transform.localScale.z + rigid.transform.localScale.z;

                rigid.transform.position = transform.position + transform.forward * holdDistance;
                rigid.transform.rotation = transform.rotation;
                if (!Input.GetKeyUp("t") && !menuOn)
                {
                    gravityGunState = GravityGunState.Occupied;
                }
            }
            else if (gravityGunState == GravityGunState.Occupied)
            {
                if (!rigid)
                {
                    gravityGunState = GravityGunState.Free;
                    return;
                }

                rigid.transform.position = transform.position + transform.forward * holdDistance;
                rigid.transform.rotation = transform.rotation;
                if (Input.GetKeyUp("t") && !menuOn)
                {
                    gravityGunState = GravityGunState.Charge;
                }
            }

            else if (gravityGunState == GravityGunState.Charge)
            {
                rigid.transform.position = transform.position + transform.forward * holdDistance;
                rigid.transform.rotation = transform.rotation;
                if (!Input.GetKeyUp("t") && !menuOn)
                {
                    if (rigid.name.Contains("pPlatform"))
                    {
                        //	rigid.isKinematic = true;
                        rigid.gameObject.GetComponent <ProjectileUpdate>().enabled = false;
                    }
                    else
                    {
                        if (rigid.gameObject.GetComponent <BoxUpdate>())
                        {
                            rigid.gameObject.GetComponent <BoxUpdate>().setCarry(false);
                        }

                        rigid.isKinematic = false;
                    }
                    gravityGunState = GravityGunState.Release;
                }
            }
            else if (gravityGunState == GravityGunState.Release)
            {
                rigid           = null;
                gravityGunState = GravityGunState.Free;
            }
        }

        //swapped
        //if (Input.GetMouseButton (1) && (!requireLock || controlLock || Screen.lockCursor))

        /*
         * if (menuOn && (!requireLock || controlLock || Screen.lockCursor))
         *
         * // If the right mouse button is held, rotation is locked to the mouse
         * {
         *
         *      if (controlLock)
         *      {
         *              Screen.lockCursor = false;
         *      }
         *
         *      rotationAmount = Input.GetAxis ("Horizontal") * turnSpeed * Time.deltaTime;
         *      //rotationAmount = 0;
         *      //return;
         * }
         * else
         * {
         *      if (controlLock)
         *      {
         *              Screen.lockCursor = true;
         *      }
         *
         *      rotationAmount = Input.GetAxis ("Mouse X") * mouseTurnSpeed * Time.deltaTime;
         *
         * }*/

        if (!menuOn)
        {
            rotationAmount = Input.GetAxis("Horizontal") * turnSpeed * Time.deltaTime;
            target.transform.RotateAround(target.transform.up, rotationAmount);
        }


        if (Input.GetKeyDown(KeyCode.Backslash) || Input.GetKeyDown(KeyCode.Plus))
        {
            walking = !walking;
        }


        if (Input.GetKeyDown(KeyCode.P) && !menuOn)
        {
            GameManagerVik manager = GameObject.Find("Code").GetComponent <GameManagerVik>();
            if (manager.level_tester_mode)
            {
                if (manager.selectedClass == "Builder")
                {
                    manager.selectedClass = "Mover";
                    target.name           = "Mover";
                    jumpSpeed             = 15.0f;
                }
                else if (manager.selectedClass == "Mover")
                {
                    manager.selectedClass = "Jumper";
                    target.name           = "Jumper";
                    jumpSpeed             = 21.5f;
                }
                else if (manager.selectedClass == "Jumper")
                {
                    manager.selectedClass = "Viewer";
                    target.name           = "Viewer";
                    jumpSpeed             = 15.0f;
                }
                else if (manager.selectedClass == "Viewer")
                {
                    manager.selectedClass = "Builder";
                    target.name           = "Builder";
                    jumpSpeed             = 15.0f;
                }
            }
        }

        //New GUI for in game "pause" menu
        if (Input.GetKeyDown(KeyCode.F1) || Input.GetKeyDown(KeyCode.Escape))
        {
            menuToggle();
        }
    }