Пример #1
0
        public void RegisterTempExecutor(string element, ReadExecution executor, ParseOption options = ParseOption.None)
        {
            if (!TemporaryExecutors.ContainsKey(element))
            {
                TemporaryExecutors.Add(element, new List <ExecutorHolder>());
            }
            if (!Executors.ContainsKey(element))
            {
                Executors.Add(element, new List <ExecutorHolder>());
            }

            if (TemporaryExecutors[element].Any(x => (x.Options & ParseOption.DontAllowOthers) != 0) ||
                Executors[element].Any(x => (x.Options & ParseOption.DontAllowOthers) != 0))
            {
                return;
            }

            if ((options & ParseOption.DontAllowOthers) != 0)
            {
                TemporaryExecutors[element].Clear();
            }

            TemporaryExecutors[element].Add(new ExecutorHolder {
                Executor = executor, Options = options
            });
        }
Пример #2
0
 public static void AddSaveDataLoader(string name, ReadExecution exec, bool overrideable = false)
 {
     if (overrideable)
     {
         SaveDataLoaders.AddOverrideable(name, exec);
     }
     else
     {
         SaveDataLoaders.Add(name, exec);
     }
 }
Пример #3
0
 public static void AddComputerLoader(string name, ReadExecution exec, bool overrideable = false)
 {
     if (overrideable)
     {
         ComputerLoaders.AddOverrideable(name, exec);
     }
     else
     {
         ComputerLoaders.Add(name, exec);
     }
 }
 public void AddExecutor(string element, ReadExecution execution, bool parseChildren = false)
 => delegateData.Add(GetElementName(element), new Tuple <ReadExecution, bool>(execution, parseChildren));