Ejemplo n.º 1
0
        void Shoot()
        {
            ammo = ammo - 1;
            int        st     = -1 * (ammo - temp);
            int        stored = st;
            RaycastHit hit;

            if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range))
            {
                EnemyComponent target = hit.transform.GetComponent <EnemyComponent>();
                if (target != null)
                {
                    Instantiate(ps, hit.point, Quaternion.LookRotation(hit.normal));
                    Instantiate(ps2, hit.point, Quaternion.LookRotation(hit.normal));
                    target.TakeDamage(damage);
                }
                else if (target == null)
                {
                    Instantiate(ps2, hit.point, Quaternion.LookRotation(hit.normal));
                }
                if (hit.rigidbody != null)
                {
                    hit.rigidbody.AddForce(-hit.normal * iforce);
                }
                temp2 = stored;
            }
        }
    private void Damage(Transform enemy)
    {
        EnemyComponent e = enemy.GetComponent <EnemyComponent>();

        if (e != null)
        {
            e.TakeDamage(m_Damage);
        }
    }
Ejemplo n.º 3
0
    private void Lasering()
    {
        m_Enemy.TakeDamage(m_DamageOverTime * Time.deltaTime);
        m_Enemy.Slowing(m_SlowAmount);

        if (!m_LineRenderer.enabled)
        {
            m_LineRenderer.enabled = true;
            m_ImpactEffect.Play();
            m_ImpactLight.enabled = true;
        }

        m_LineRenderer.SetPosition(0, m_FirePoint.position);
        m_LineRenderer.SetPosition(1, m_Target.position);

        Vector3 dir = m_FirePoint.position - m_Target.position;

        m_ImpactEffect.transform.position = m_Target.position + dir.normalized;

        m_ImpactEffect.transform.rotation = Quaternion.LookRotation(dir);
    }