protected override void InstantiateParticleSystems() { _bodyHolder = Object.Instantiate(_body, _transform); _bodyHolder.transform.localPosition = _origin; _muzzleFXHolder = Object.Instantiate(_spark, _bodyHolder.transform); _muzzleFXHolder.transform.localPosition = Vector3.zero; _muzzleFX = _muzzleFXHolder.transform.GetChild(0).GetComponent <ParticleSystem>(); _muzzleFX.Stop(); _bulletFXHolder = Object.Instantiate(_bullet, _bodyHolder.transform); _bulletFXHolder.transform.localPosition = Vector3.zero; _bulletFX = _bulletFXHolder.transform.GetChild(0).GetComponent <ParticleCollisionHandler>(); _bulletFX.OnCollision += OnParticleCollision; if (_bulletFX.Particle == null) { _bulletFX.Particle = _bulletFX.GetComponent <ParticleSystem>(); } _bulletFX.Particle.Stop(); _main = _bulletFX.Particle.main; }
void Start() { particleCollision = GetComponentInChildren <ParticleCollisionHandler>(); lastShot = Time.time; }