Files
gpd-924-en/SOLID/Assets/Scripts/Solid/Abstracts/AreaOfEffect.cs
T
david a4f498a33d add unity project
add SOLID examples
2025-04-09 07:49:12 +02:00

30 lines
782 B
C#

using UnityEngine;
namespace DefaultNamespace.Solid
{
public abstract class AreaOfEffect : MonoBehaviour
{
[SerializeField] private ParticleSystem _particleSystem;
[SerializeField] private AudioClip _audioClip;
[SerializeField] private float _duration;
private AudioSource _audioSource;
protected abstract bool IsInsideOfEffectArea(Collision other);
private void OnCollisionEnter(Collision other)
{
if (!IsInsideOfEffectArea(other)) return;
_particleSystem.Play();
_audioSource.PlayOneShot(_audioClip);
ApplyEffect();
}
private void ApplyEffect()
{
// apply effect to something
}
}
}