/// <summary> /// Static constructor for the <see cref="LuaInterpreter"/> class. /// </summary> static LuaInterpreter() { ServerManager.MessageReceived += (msg) => { if (msg.Name == "run") { TerminalBackend.PrefixEnabled = false; var cntnts = JsonConvert.DeserializeObject <dynamic>(msg.Contents); var interp = new LuaInterpreter(); Desktop.InvokeOnWorkerThread(() => { interp.Execute(cntnts.script.ToString()); }); TerminalBackend.PrefixEnabled = true; TerminalBackend.PrintPrompt(); } }; }
public LuaVirus(string script, int threatLevel) : base() { _threatlevel = threatLevel; interpreter = new LuaInterpreter(); Action <string> mud_message = new Action <string>((sig) => { signature = sig; }); ServerManager.MessageReceived += (msg) => { if (msg.Name == "mud_virus_signature") { mud_message?.Invoke(msg.Contents); mud_message = null; } }; ServerManager.SendMessage("mud_scanvirus", script); _script = script; }
/// <summary> /// Run a compressed .sft file in the <see cref="LuaInterpreter"/>. /// </summary> /// <param name="inpath">The .sft file to run.</param> public void run(string inpath) { LuaInterpreter.RunSft(inpath); }
/// <summary> /// Make a .sft file from a lua code string /// </summary> /// <param name="lua">The Lua code</param> /// <returns>The resulting .sft string</returns> public string make(string lua) { return(LuaInterpreter.CreateSft(lua)); }
public override void Deactivate() { interpreter.Running = false; interpreter = null; }