Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
- Теперь игрок при смерти будет падать вниз - Изменил поведение игрока при смерти - Изменил поведение врагов при смерти игрока - Изменил поведение ловушек при смерти игрока
51 lines
1.4 KiB
C#
51 lines
1.4 KiB
C#
using UnityEngine;
|
|
|
|
using RR.Game2D.Behaviour;
|
|
|
|
namespace RR.Game2D.Entities.Hazards
|
|
{
|
|
[RequireComponent(typeof(Collider2D))]
|
|
public class Trap : MonoBehaviour
|
|
{
|
|
private Collider2D _col;
|
|
|
|
private void Awake()
|
|
{
|
|
_col = GetComponent<Collider2D>();
|
|
}
|
|
|
|
private void OnCollisionEnter2D(Collision2D collision)
|
|
{
|
|
if (collision.collider.CompareTag("Player"))
|
|
{
|
|
|
|
if (collision.collider.TryGetComponent<PlayerController>(out var controller))
|
|
{
|
|
if (!controller.isDeadAtMoment) controller.Die();
|
|
}
|
|
}
|
|
else if (collision.collider.CompareTag("Enemy"))
|
|
{
|
|
if (collision.collider.TryGetComponent<EnemyController>(out var controller))
|
|
controller.Die();
|
|
}
|
|
}
|
|
|
|
private void OnTriggerEnter2D(Collider2D other)
|
|
{
|
|
if (!_col.isTrigger) return;
|
|
|
|
if (other.CompareTag("Player"))
|
|
{
|
|
|
|
if (other.TryGetComponent<PlayerController>(out var controller))
|
|
controller.Die();
|
|
}
|
|
else if (other.CompareTag("Enemy"))
|
|
{
|
|
if (other.TryGetComponent<EnemyController>(out var controller))
|
|
controller.Die();
|
|
}
|
|
}
|
|
}
|
|
} |