void DrawVisualizationControls() { GUILayout.BeginHorizontal(); bool frontfacing = GUILayout.Toggle((particleCulling & ParticleCulling.Front) != 0, new GUIContent(Resources.Load <Texture2D>("FrontfacesButton"), "Cull frontfacing particles"), GUI.skin.FindStyle("Button"), GUILayout.MaxHeight(24), GUILayout.Width(42)); particleCulling = frontfacing ? particleCulling | ParticleCulling.Front : particleCulling & ~ParticleCulling.Front; bool backfacing = GUILayout.Toggle((particleCulling & ParticleCulling.Back) != 0, new GUIContent(Resources.Load <Texture2D>("BackfacesButton"), "Cull backfacing particles"), GUI.skin.FindStyle("Button"), GUILayout.MaxHeight(24), GUILayout.Width(42)); particleCulling = backfacing ? particleCulling | ParticleCulling.Back : particleCulling & ~ParticleCulling.Back; GUILayout.EndHorizontal(); }
void OnDestroy() { if (disconnectAndStopParticlesOnDestroy) { for (int i = 0; i < transform.childCount; ++i) { GameObject child = transform.GetChild(i).gameObject; child.transform.parent = transform.parent; ParticleSystem ps = child.GetComponent <ParticleSystem>(); if (ps != null) { ps.enableEmission = false; } ParticleCulling pc = child.GetComponent <ParticleCulling>(); if (pc != null) { pc.enabled = true; } } } }