using Microsoft.CodeAnalysis.Scripting; using System.Collections.Generic; using System.IO; namespace Arrowgene.Ddon.GameServer.Scripting { public abstract class ScriptModule { public abstract string ModuleRoot { get; } public abstract string Filter { get; } public abstract bool ScanSubdirectories { get; } public FileSystemWatcher Watcher { get; set; } public HashSet Scripts { get; set; } public ScriptModule() { Scripts = new HashSet(); } /// /// Options passed into the compilation unit. /// /// public abstract ScriptOptions Options(); /// /// Evaluates the result returned by the script. /// /// /// public abstract bool EvaluateResult(ScriptState result); } }