// Update is called once per frame void FixedUpdate() { UpdatePlayerGroundPosition(); if (PlayerTransform.transform.position.z - DoorsCurrent.transform.position.z > PlayerBeyondDoorThreshold) { DoorController[] doors = DoorsCurrent.GetComponentsInChildren <DoorController>(); foreach (DoorController d in doors) { d.CloseInstant(); } Vector3 doorsPos = DoorsCurrent.transform.position; doorsPos.Set(doorsPos.x, doorsPos.y, doorsPos.z + Radius * 2.0f); DoorsCurrent.transform.position = doorsPos; GateController gate = DoorsCurrent.GetComponent <GateController>(); if (gate != null) { gate.DoorChangeFrequency = Random.Range(0.5f, 3.0f); gate.StartFlipping(); } GameObject temp = DoorsCurrent; DoorsCurrent = DoorsNext; DoorsNext = temp; } }
public void ResetGame() { TerrainFront.position = TerrainFrontStartPosition; TerrainBack.position = TerrainBackStartPosition; DoorsCurrent.transform.position = DoorsCurrentStartPosition; DoorsNext.transform.position = DoorsNextStartPosition; PlayerTransform.position = PlayerStartPosition; PlayerTransform.gameObject.GetComponent <PlayerController>().SetMovementEnabled(false); DoorController[] doors = DoorsCurrent.GetComponentsInChildren <DoorController>(); foreach (DoorController d in doors) { d.CloseInstant(); } doors = DoorsNext.GetComponentsInChildren <DoorController>(); foreach (DoorController d in doors) { d.CloseInstant(); } GateController gate = DoorsCurrent.GetComponent <GateController>(); if (gate != null) { gate.DoorChangeFrequency = Random.Range(0.5f, 3.0f); gate.StartFlipping(); } ButtonObject.SetActive(true); Instructions.gameObject.SetActive(true); DestroySpikes(); AkSoundEngine.StopPlayingID(MusicPlayingID); AkSoundEngine.SetRTPCValue("Dare", 0.0f); }