void OnEnable() { m_CoreConvertersList = new List <RenderPipelineConverter>(); // This is the drop down choices. m_ConverterContainers = TypeCache.GetTypesDerivedFrom <RenderPipelineConverterContainer>(); var converters = TypeCache.GetTypesDerivedFrom <RenderPipelineConverter>(); for (int i = 0; i < converters.Count; ++i) { // Iterate over the converters RenderPipelineConverter conv = (RenderPipelineConverter)Activator.CreateInstance(converters[i]); m_CoreConvertersList.Add(conv); // Create a new ConvertState which holds the active state of the converter var converterState = new ConverterState { isEnabled = conv.IsEnabled, isActive = true, isInitialized = false, items = new List <ConverterItemState>(), index = i, }; m_ConverterStates.Add(converterState); // This just creates empty entries in the m_ItemsToConvert. // This list need to have the same amount of entries as the converters List <ConverterItemDescriptor> converterItemInfos = new List <ConverterItemDescriptor>(); m_ItemsToConvert.Add(converterItemInfos); } }
internal static List <RenderPipelineConverter> GetConvertersInContainer(RenderPipelineConverterContainer container) { List <RenderPipelineConverter> listOfConverters = new List <RenderPipelineConverter>(); var converterList = TypeCache.GetTypesDerivedFrom <RenderPipelineConverter>(); for (int i = 0; i < converterList.Count; ++i) { // Iterate over the converters that are used by the current container RenderPipelineConverter conv = (RenderPipelineConverter)Activator.CreateInstance(converterList[i]); if (conv.container == container.GetType()) { listOfConverters.Add(conv); } } return(listOfConverters); }
void GetConverters() { ClearConverterStates(); var converterList = TypeCache.GetTypesDerivedFrom <RenderPipelineConverter>(); for (int i = 0; i < converterList.Count; ++i) { // Iterate over the converters that are used by the current container RenderPipelineConverter conv = (RenderPipelineConverter)Activator.CreateInstance(converterList[i]); if (conv.container == m_ConverterContainers[m_ContainerChoiceIndex]) { m_CoreConvertersList.Add(conv); } } // this need to be sorted by Priority property m_CoreConvertersList = m_CoreConvertersList .OrderBy(o => o.priority).ToList(); for (int i = 0; i < m_CoreConvertersList.Count; i++) { // Create a new ConvertState which holds the active state of the converter var converterState = new ConverterState { isEnabled = m_CoreConvertersList[i].isEnabled, isActive = false, isInitialized = false, items = new List <ConverterItemState>(), index = i, }; m_ConverterStates.Add(converterState); // This just creates empty entries in the m_ItemsToConvert. // This list need to have the same amount of entries as the converters List <ConverterItemDescriptor> converterItemInfos = new List <ConverterItemDescriptor>(); //m_ItemsToConvert.Add(converterItemInfos); m_ItemsToConvert.Add(new ConverterItems { itemDescriptors = converterItemInfos }); } }