public ProcessorElement(int level, KeyValuePair <Type, ProcessorAttribute> desc, Action <ProcessorElement> spawncallback) { this.level = level; content = new GUIContent(EditorGUIUtility.IconContent("SceneViewFx")); content.text = desc.Value.name; m_Desc = desc.Value; m_ProcessorSettingType = desc.Key; m_SpawnCallback = spawncallback; }
public void AddProcessor(ProcessorElement element) { var settingType = element.m_ProcessorSettingType; // Add Element Undo.RecordObject(m_CurrentAsset, "Add Processor"); ProcessingNode processor = null; // Reflection Stuff here ProcessorAttribute attribute = m_ProcessingNodeStack.settingsDefinitions[settingType]; var info = ProcessorInfo.CreateDefault(attribute.name, true, settingType); processor = (ProcessingNode)Activator.CreateInstance(typeof(ProcessingNode), m_ProcessingNodeStack, info); if (processor != null) { m_ProcessingNodeStack.AddProcessor(processor, m_CurrentAsset); m_ProcessingNodeStack.InvalidateAll(); } }