コード例 #1
0
    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);
        }
    }