static void Process(Options options) { var moduleSystem = LoadModuleSystem(options); var map = new WCMap(options.TargetDirectory); var rootName = "WPSC_GENERATED"; map.FindCategory(rootName)?.Remove(); Category?rootCached = null; Category root() => rootCached ?? (rootCached = map.CreateCategory(rootName)); if (moduleSystem != null) { using var writer = new StringWriter(); moduleSystem.IncludeModuleLibrary(writer); var moduleScript = root().CreateScript("Module System"); moduleScript.Source = writer.ToString(); } var files = Directory .GetFiles(options.SourceDirectory, "*.lua", SearchOption.AllDirectories) .Where(f => !options.Excludes.Contains(Path.GetRelativePath(options.SourceDirectory, f))); Category?modules = null; ProcessDir(options, options.SourceDirectory, moduleSystem, () => modules ?? (modules = root().CreateCategory("Modules"))); map.Save(options.TargetDirectory); }
public Script(WCMap map, WtgTrigger inner, int source) { _map = map; Inner = inner; _source = source; }
public Category(WCMap map, WtgCategory inner) { _map = map; Inner = inner; }