public void Initialize() { mObjects.Clear(); mEmitters.Clear(); mIndent.Clear(); ClearHandlers(); mSectionToggleState.Clear(); mEmitterTypeHandler = null; if (SelectedParticleSystem) { SelectedParticleSystem.mbDrawGizmos = mGizmos; SelectedParticleSystem.mbDrawGizmosSelected = mGizmosSelected; InitializeHandlerMap(); InitializeTree(); InitializeEmitter(); } RepaintEditor(true); }
void InstantiateEMTypeHandler() { MBEmitter em = (SelectedObject as MBEmitter); if (em) { MBEmitterType emtype = em.EmitterType; if (mHandlerMap.ContainsKey(emtype.GetType())) { System.Type T = mHandlerMap[emtype.GetType()]; mEmitterTypeHandler = System.Activator.CreateInstance(T) as MBEditorEmitterTypeHandler; mEmitterTypeHandler.Target = emtype; mEmitterTypeHandler.EmitterTypeInfo = emtype.EmitterTypeInfo; } else if (!EditorApplication.isPlaying) Debug.LogError("Missing Handler for EmitterType '" + em.EmitterType.GetType().Name + "'!"); } }