37 lines
977 B
C#
37 lines
977 B
C#
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
|
|
public class CollisionHandler : MonoBehaviour
|
|
{
|
|
PlayerStats playerStats;
|
|
void Start()
|
|
{
|
|
playerStats = GetComponent<PlayerStats>();
|
|
}
|
|
void OnCollisionEnter(Collision other)
|
|
{
|
|
switch (other.gameObject.tag)
|
|
{
|
|
case "Friendly":
|
|
Debug.Log("Collided with Friendly object.");
|
|
break;
|
|
case "Finish":
|
|
playerStats.NextLevel();
|
|
break;
|
|
default:
|
|
float collisionDamage = other.gameObject.GetComponent<ObjectStats>()?.damage ?? 0;
|
|
playerStats.TakeDamage((int)collisionDamage);
|
|
break;
|
|
}
|
|
}
|
|
void OnTriggerEnter(Collider other)
|
|
{
|
|
switch (other.gameObject.tag)
|
|
{
|
|
case "Pickup":
|
|
other.gameObject.GetComponent<Pickup>()?.PickupItem(gameObject);
|
|
break;
|
|
}
|
|
}
|
|
}
|