Example #1
0
            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;
            }
Example #2
0
        public void AddProcessor(ProcessorElement element)
        {
            var settingType = element.m_ProcessorSettingType;

            // Add Element
            Undo.RecordObject(m_CurrentAsset, "Add Processor");

            FrameProcessor processor = null;

            // Reflection Stuff here
            ProcessorAttribute attribute = m_processorStack.settingsDefinitions[settingType];
            Type processorType           = attribute.processorType;

            var info = ProcessorInfo.CreateDefault(attribute.name, true, settingType);

            processor = (FrameProcessor)Activator.CreateInstance(processorType, m_processorStack, info);

            if (processor != null)
            {
                m_processorStack.AddProcessor(processor, m_CurrentAsset);
                m_processorStack.InvalidateAll();
            }
        }