Files
gpd-925/Simulation/Assets/Scripts/PlayParticleSystem.cs
T
david 97f81cdf32 Added examples for BuiltIn ParticleSystem
Added examples & templates for VFX Graph
2026-06-10 12:38:30 +02:00

53 lines
1.6 KiB
C#

using UnityEngine;
using UnityEngine.InputSystem;
namespace DefaultNamespace
{
[RequireComponent(typeof(ParticleSystem))]
public class PlayParticleSystem : MonoBehaviour
{
[SerializeField] private InputActionReference _playAction;
[SerializeField] private InputActionReference _emitAction;
[SerializeField] private InputActionReference _particleAction;
private ParticleSystem _particleSystem;
private void Awake()
{
_particleSystem = GetComponent<ParticleSystem>();
ParticleSystem.MainModule main = _particleSystem.main;
main.maxParticles = 10000;
}
private void Update()
{
if (_playAction.action.triggered)
_particleSystem.Play();
if (_emitAction.action.triggered)
_particleSystem.Emit(100);
if (_particleAction.action.triggered)
{
ParticleSystem.Particle[] particles = new ParticleSystem.Particle[_particleSystem.main.maxParticles];
_particleSystem.GetParticles(particles);
for (int i = 0; i < particles.Length; i++)
{
particles[i].position += Vector3.up;
}
_particleSystem.SetParticles(particles, particles.Length);
}
}
private void OnValidate()
{
// triggered when the inspector changed
}
private void Reset()
{
// triggered by inspector reset
}
}
}