public override void AddToDataCollector(ref MasterNodeDataCollector dataCollector, TemplateIncludePragmaContainter nativesContainer) { for (int i = 0; i < m_additionalItems.Count; i++) { if (!string.IsNullOrEmpty(m_additionalItems[i]) && !nativesContainer.HasInclude(m_additionalItems[i])) { dataCollector.AddToIncludes(-1, m_additionalItems[i]); } } for (int i = 0; i < m_outsideItems.Count; i++) { if (!string.IsNullOrEmpty(m_outsideItems[i]) && !nativesContainer.HasInclude(m_outsideItems[i])) { dataCollector.AddToIncludes(-1, m_outsideItems[i]); } } }
void AddToDataCollector(ref MasterNodeDataCollector dataCollector, TemplateIncludePragmaContainter nativesContainer, bool fromSF) { List <AdditionalDirectiveContainer> list = fromSF ? m_shaderFunctionDirectives : m_additionalDirectives; int count = list.Count; for (int i = 0; i < count; i++) { int orderIdx = fromSF ? 1 : (i > m_nativeDirectivesIndex ? 1 : -1); switch (list[i].LineType) { case AdditionalLineType.Include: { string value = list[i].Value; if (!string.IsNullOrEmpty(value) && !nativesContainer.HasInclude(value)) { dataCollector.AddToDirectives(list[i].FormattedValue, orderIdx); } } break; case AdditionalLineType.Define: { if (!string.IsNullOrEmpty(list[i].LineValue) && !nativesContainer.HasDefine(list[i].LineValue)) { dataCollector.AddToDirectives(list[i].FormattedValue, orderIdx); } } break; case AdditionalLineType.Pragma: { if (!string.IsNullOrEmpty(list[i].LineValue) && !nativesContainer.HasPragma(list[i].LineValue)) { dataCollector.AddToDirectives(list[i].FormattedValue, orderIdx); } } break; default: case AdditionalLineType.Custom: dataCollector.AddToDirectives(list[i].LineValue, orderIdx); break; } } }