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); } }
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); }