private void FixedUpdate() { // Grab player input and transform player float zinput = playerControls.Land.MoveForward.ReadValue <float>(); float xinput = playerControls.Land.MoveRight.ReadValue <float>(); Vector2 firingPosition = playerControls.Land.FiringPosition.ReadValue <Vector2>(); zinput *= (playerSpeed / 1000); xinput *= (playerSpeed / 1000); Vector3 currentPos = this.transform.position; currentPos.z += zinput; currentPos.x += xinput; // Move player to desired position if (canMove) { this.transform.position = currentPos; } // Update currentPos to reposition camera as well currentPos.y += 18; currentPos.z -= 4; camera.transform.position = currentPos; // Reset for next loop xinput = 0; zinput = 0; // Player rotation this.transform.LookAt(GetPlayerTarget().point); // Disable melee after 100 milliseconds if (meleeTimer < Time.time * 1000) { meleeCollider.enabled = false; } // Clears room code from player screen if empty or if game has started. string roomCode = PlayerPrefs.GetString("roomCode"); if (roomCode == "") { roomCodeDisplay.text = ""; } //TODO: Change scenes to show enemy score. if (clientScript != null && clientScript.finished) { PlayerPrefs.SetInt("enemyTime", (int)clientScript.enemyTime); PlayerPrefs.SetInt("enemyScore", (int)clientScript.enemyScore); PlayerPrefs.SetString("enemyDeath", clientScript.enemyDeath.ToString()); SceneManager.LoadScene("GameEnd"); } if (playerHealth.GetHealth() <= 0 && canMove) { PlayerPrefs.SetString("roomCode", "You died!\nWaiting for Combatant to finish..."); roomCodeDisplay.text = "You died!\nWaiting for Combatant to finish..."; setMove(false); PlayerPrefs.SetInt("yourTime", (int)Time.time); PlayerPrefs.SetInt("yourScore", (int)score); PlayerPrefs.SetString("yourDeath", true.ToString()); clientScript.SendScore((long)Time.time, score, true); } }