Files
gpd-324/Simulation/Assets/Scripts/OneShot.cs
T
2024-11-28 22:22:42 +01:00

41 lines
1.3 KiB
C#

using System;
using UnityEngine;
namespace DefaultNamespace
{
[RequireComponent(typeof(ParticleSystem))]
public class OneShot : MonoBehaviour
{
private ParticleSystem _particleSystem;
private ParticleSystem.MainModule _main;
private ParticleSystem.ColorOverLifetimeModule _colorOverLifetime;
private void Awake()
{
_particleSystem = GetComponent<ParticleSystem>();
_main = _particleSystem.main;
_main.loop = false;
_main.playOnAwake = false;
_colorOverLifetime = _particleSystem.colorOverLifetime;
// _colorOverLifetime.
}
private void Update()
{
if (Input.GetButtonDown("Fire1"))
{
_particleSystem.Play(); // play particle system with settings
// _particleSystem.Emit(100); // emit 100 particles at once
}
ParticleSystem.Particle[] particles = new ParticleSystem.Particle[_particleSystem.main.maxParticles];
int usedParticles = _particleSystem.GetParticles(particles);
for (int i = 0; i < usedParticles; i++)
{
particles[i].position += Vector3.up * 0.01f;
}
_particleSystem.SetParticles(particles);
}
}
}