private void RunScript(string script) { try { ExecutionStart?.Invoke(this, EventArgs.Empty); lock (_script) { _script.DoString(script, codeFriendlyName: "script"); } ExecutionComplete?.Invoke(this, ExitCondition.ProgramEnd); } catch (InterpreterException e) { LuaError?.Invoke(this, e); ExecutionComplete?.Invoke(this, ExitCondition.ScriptError); } catch (ThreadAbortException) { // Ignore } catch (Exception e) { CsError?.Invoke(this, e); ExecutionComplete?.Invoke(this, ExitCondition.CsError); } }
private void CurrentRuntimeExecution_Completed(object sender, uint e) { ExecutionComplete?.Invoke(this, e); DisposeCurrentExecution(); }
public void Halt() { _luaExecThread?.Abort(); ExecutionComplete?.Invoke(this, ExitCondition.ForceHalt); }