示例#1
0
        public SingleIncludeHandler(IIncludeHandler handler)
        {
            if (handler == null)
            {
                throw new ArgumentNullException("handler");
            }

            this.handler = handler;
        }
示例#2
0
        public RGABackend(string RGAPath, string TempPath, IWrapper wrapper, IIncludeHandler handler)
        {
            m_SupportedAsics = GetAsicList(RGAPath);
            m_RGAPath        = RGAPath;
            m_TempPath       = TempPath;

            m_GLSLang       = wrapper.CreateGLSlangCompiler(handler);
            m_GLSLangConfig = m_GLSLang.CreateDefaultConfig();
        }
示例#3
0
        public void AddHandler <T>(string sectionName, IIncludeHandler <T> handler)
        {
            List <Include> handlers;

            if (!_includeHandlers.TryGetValue(sectionName, out handlers))
            {
                handlers = new List <Include>();
                _includeHandlers.Add(sectionName, handlers);
            }
            handlers.Add((target, deserializer, cfgNode, searchPath) => handler.TryLoad(target, deserializer.Deserialize <T>(cfgNode), searchPath));
        }
 public Stream Open(IncludeType type, string fileName, System.IO.Stream parentStream)
 {
     foreach (IIncludeHandler handler in this.handlers)
     {
         var stream = handler.Open(type, fileName, parentStream);
         if (stream != null)
         {
             this.selectedHandler = handler;
             return(stream);
         }
     }
     return(null);
 }
示例#5
0
 public void AddHandler <T>(IIncludeHandler <T> handler)
 {
     AddHandler(typeof(T).GetSectionName(), handler);
 }
示例#6
0
 public GLSlangBackend(IWrapper wrapper, IIncludeHandler handler)
 {
     m_Compiler = wrapper.CreateGLSlangCompiler(handler);
     m_Config   = m_Compiler.CreateDefaultConfig();
 }