Ejemplo n.º 1
0
    public void shoot(bool isPlayer)
    {
        RaycastHit hit;

        if (Physics.Raycast(transform.position + transform.forward / 10, transform.forward, out hit))
        {
            source.PlayOneShot(shotgun, 0.5f);
            //hit.collider.GetComponent<Renderer>().material.color = Color.white;
            Rigidbody hitRb = hit.rigidbody;
            if (hitRb != null)
            {
                hitRb.AddForceAtPosition((isPlayer? playerController.transform.forward : enemyController.transform.forward) * 200f, hit.point);
            }

            target target = hit.collider.gameObject.GetComponent <target>();
            Debug.Log(hit.collider.name);
            if (target != null)
            {
                target.takeHealth(1f);
            }

            GameObject impactGO = Instantiate(impact, hit.point, (isPlayer ? playerController.transform.rotation * Quaternion.Euler(0, 180, 0) : enemyController.transform.rotation * Quaternion.Euler(0, 180, 0)));
            Destroy(impactGO, 2);
        }
    }