add zombie controller and implement damage system; update gun controller for raycasting; modify prefab and scene settings

This commit is contained in:
dkecskes
2026-05-04 12:39:20 +02:00
parent 957f8845b9
commit 835127238a
8 changed files with 117 additions and 6 deletions
+22 -2
View File
@@ -9,6 +9,11 @@ public class GunController : MonoBehaviour
[SerializeField] private AudioSource audioSource;
[SerializeField] private AudioClip triggerSoundEffect;
[Header("Raycast")]
[SerializeField] private Transform muzzlePoint;
[SerializeField] private float maxRange = 100f;
[SerializeField] private float damage = 25f;
private void OnEnable()
{
rightTriggerAction.action.Enable();
@@ -28,7 +33,22 @@ public class GunController : MonoBehaviour
private void HandleShoot()
{
Debug.Log("Shoot!");
audioSource.PlayOneShot(triggerSoundEffect);
Vector3 origin = muzzlePoint != null ? muzzlePoint.position : transform.position;
Vector3 direction = muzzlePoint != null ? muzzlePoint.forward : transform.forward;
if (Physics.Raycast(origin, direction, out RaycastHit hit, maxRange))
{
if (hit.collider.CompareTag("Zombie"))
{
if (hit.collider.TryGetComponent(out ZombieController zombie))
{
zombie.TakeDamage(damage);
}
}
}
Debug.DrawRay(origin, direction * maxRange, Color.red, 0.5f);
}
}
}