コード例 #1
0
 protected virtual bool OnRuntimeTick(RTSThread t)
 {
     try
     {
         t.run(mEngine);
         return(true);
     }
     catch (System.Exception ex)
     {
         t.catchError(IRTSDefine.Error.Runtime_IndexOutOfBounds, ex.ToString());
         return(false);
     }
 }
コード例 #2
0
        public object ExecuteImmediate(string cmd)
        {
            mCompiler.reset();
            mCompiler.loadSource(cmd);
            while (mCompiler.isCompiling())
            {
                IRTSDefine.Error error = mCompiler.onCompile(mEngine);
                if (error != 0)
                {
                    logError("rts compile error:" + RTSUtil.getEnumDescript(typeof(IRTSDefine.Error), (int)error) + "-" + mCompiler.getCompilingLinker());
                    return(null);
                }
            }
            IRTSLinker root = mCompiler.getRootLinker();

            if (root != null)
            {
                mImmediateT.loadRunner(root.createRunner());
                while (!mImmediateT.isFinished())
                {
                    try
                    {
                        mImmediateT.run(mEngine);
                    }
                    catch (System.Exception ex)
                    {
                        mImmediateT.catchError(IRTSDefine.Error.Runtime_IndexOutOfBounds, ex.ToString());
                        break;
                    }
                }
                return(mImmediateT.getOutput());
            }
            else
            {
                return(null);
            }
        }