public void Stop() { RuntimeManager.DeregisterActiveEmitter(this); IsActive = false; cachedParams.Clear(); StopInstance(); }
public void StopInstance() { if (TriggerOnce && hasTriggered) { RuntimeManager.DeregisterActiveEmitter(this); } if (instance.isValid()) { instance.stop(AllowFadeout ? FMOD.Studio.STOP_MODE.ALLOWFADEOUT : FMOD.Studio.STOP_MODE.IMMEDIATE); instance.release(); instance.clearHandle(); } }
protected override void OnDestroy() { if (!isQuitting) { HandleGameEvent(EmitterGameEvent.ObjectDestroy); if (instance.isValid()) { RuntimeManager.DetachInstanceFromGameObject(instance); if (eventDescription.isValid() && isOneshot) { instance.release(); instance.clearHandle(); } } RuntimeManager.DeregisterActiveEmitter(this); if (Preload) { eventDescription.unloadSampleData(); } } }