public sealed class ScriptsModuleThe editor's own tier-three producer: a project's Editor/ folder.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Doc 36 § D2's third producer and § P5's whole phase. The other two are a source generator at compile time and a plugin's Activate at load time; this is the one that runs when a project opens, and it is the only one whose input is a file somebody is typing into right now.
⚠ A module, so Vixen.Editor.App never references it. It asks the host for the project and for the plugin host, registers a rebuild verb, a panel and a per-frame drain, and is named in EditorModules beside Terrain and Blockout. The assembly hosting a C# compiler being reachable from the editor's application would be P3's exit list undone for the sake of a feature that is, by construction, optional.
⚠ The watcher is drained on the frame thread, not raised on the platform's. FileWatcher is pull-based for exactly this reason — compiling and loading an assembly from a file-system callback would run a plugin's Activate on whichever thread the OS chose, and every registration it makes is the shell's.
Fields and properties (5)
public const string ModuleIdWhat the host activates it under.
public const string ModuleNameWhat a plugin-management panel calls it.
public const string PanelIdThe panel that lists what the compiler said.
public const string RebuildCommandThe verb that compiles the folder again.
public ScriptState StateWhat the last build produced, for a panel and for a test.
Methods (3)
public void Activate(PluginContext context)Adds everything the plugin contributes.
public void Deactivate()Releases what the registration scope does not know about.
public void Dispose()
Used by (2)
- EditorModulesVixen.Editor.Host
- EditorScriptWorkflowTestsVixen.Editor.App.Tests