Exemplo n.º 1
0
        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();
        }
Exemplo n.º 3
0
 public void Halt()
 {
     _luaExecThread?.Abort();
     ExecutionComplete?.Invoke(this, ExitCondition.ForceHalt);
 }