Files
0A-KFCommonUtilityLib/KFAttached/Animation/MonoBehaviours/AnimationFiringEvents.cs
2025-06-04 16:13:32 +09:30

32 lines
881 B
C#

using UnityEngine;
public class AnimationFiringEvents : MonoBehaviour
{
[SerializeField]
private ParticleSystem[] mainParticles;
private void Awake()
{
if (mainParticles == null)
return;
foreach (var ps in mainParticles)
{
ps.gameObject.SetActive(true);
var emission = ps.emission;
emission.enabled = false;
ps.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
var main = ps.main;
main.loop = false;
}
}
public void Fire(int index)
{
if (mainParticles == null || index < 0 || index >= mainParticles.Length)
return;
GameObject root = mainParticles[index].gameObject;
root.BroadcastMessage("OnEnable", SendMessageOptions.DontRequireReceiver);
mainParticles[index].Emit(1);
}
}