Пример #1
0
        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.HasPragma(m_additionalItems[i]))
                {
                    dataCollector.AddToPragmas(-1, m_additionalItems[i]);
                }
            }

            for (int i = 0; i < m_outsideItems.Count; i++)
            {
                if (!string.IsNullOrEmpty(m_outsideItems[i]) && !nativesContainer.HasPragma(m_outsideItems[i]))
                {
                    dataCollector.AddToPragmas(-1, m_outsideItems[i]);
                }
            }
        }
Пример #2
0
        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;
                }
            }
        }