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 }); }
public static void AddSaveDataLoader(string name, ReadExecution exec, bool overrideable = false) { if (overrideable) { SaveDataLoaders.AddOverrideable(name, exec); } else { SaveDataLoaders.Add(name, exec); } }
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));