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>(); }
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; }
//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; } }
// 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); } }
//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; }
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; }
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; }
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>(); } } }
// 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; }
void Start() { GameObject SpawnManager = GameObject.Find("Code"); manager = SpawnManager.GetComponent <GameManagerVik>(); }
// 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; } } }
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; } } } }
// 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; }
// 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); }
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)); }
// 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); } }
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>(); }
void Start() { GameObject SpawnManager = GameObject.Find("Code"); manager = SpawnManager.GetComponent<GameManagerVik>(); }
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(); } }