Ejemplo n.º 1
0
    void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.tag == "RicochetMaterial" || other.gameObject.tag == "Player")
        {
            bladeEffectAudioSource.clip  = bladeHitWalls;
            bladeEffectAudioSource.pitch = Random.Range(defaultEffectPitch - pitchRangeOffset, defaultEffectPitch + pitchRangeOffset);

            if (other.gameObject.tag == "Player")
            {
                bladeEffectAudioSource.clip  = bladeHitPlayer;
                bladeEffectAudioSource.pitch = Random.Range(defaultEffectPitch - pitchRangeOffset, defaultEffectPitch + pitchRangeOffset);

                Rigidbody      playerRigidbody = other.gameObject.GetComponent <Rigidbody>();
                PlayerControl4 playerControl4  = other.gameObject.GetComponent <PlayerControl4>();
                playerControl4.playerDead = true;
                playerControl4.dustTrail.gameObject.SetActive(false);
                playerRigidbody.freezeRotation = false;
                playerRigidbody.AddForce(bladeDirBenchmark.forward.normalized * impulseForce, ForceMode.Impulse);
            }

            Vector3 reflectDir = Vector3.Reflect(bladeRay.direction, other.contacts[0].normal);
            float   rotation   = 90 - Mathf.Atan2(reflectDir.z, reflectDir.x) * Mathf.Rad2Deg;
            bladeDirBenchmark.eulerAngles = new Vector3(0f, rotation, 0f);
            if (movingSpeed < maximumSpeed[level04.roundNumber - 1])
            {
                movingSpeed += reflectSpeedInterval;
            }

            bladeEffectAudioSource.Play();
        }
    }
Ejemplo n.º 2
0
    public void Setup4()
    {
        playerControl4  = playerInstance.GetComponent <PlayerControl4>();
        canPause        = playerInstance.GetComponent <CanPause>();
        playerMesh      = playerInstance.GetComponent <MeshRenderer>();
        playerRigidbody = playerInstance.GetComponent <Rigidbody>();

        canPause.playerNumber         = playerNumber;
        playerControl4.playerNumber   = playerNumber;
        playerControl4.componentOwner = this;
        roundPanelInput = false;
        Material[] materials = playerMesh.materials;
        materials[2].color = playerColor;
    }