コード例 #1
0
 public override void OnExecute(SitcomContext runtime)
 {
     if (mContent != null)
     {
         runtime.Push(mContent);
     }
 }
コード例 #2
0
 public void OnExecute(SitcomContext runtime)
 {
     if (mOper != null)
     {
         runtime.Push(mOper);
     }
 }
コード例 #3
0
        public override void OnStop(SitcomContext runtime)
        {
            var ret = mRight != null ? mRight.Result : null;

            if (ret != null && ret.State == ESitcomState.Success && mLeft != null)
            {
                runtime.Push(mLeft);
            }
        }
コード例 #4
0
 public override void OnExecute(SitcomContext runtime)
 {
     if (mLeft != null)
     {
         runtime.Push(mLeft);
     }
     if (mUseKV)
     {
         for (int i = 0; i < mKVs.Count; i++)
         {
             runtime.Push(mKVs[i].useKey ? mKVs[i].value : mKVs[i].key);
         }
     }
     else
     {
         for (int i = 0; i < mKVs.Count; i++)
         {
             runtime.Push(mKVs[i].key);
         }
     }
 }
コード例 #5
0
 public void OnStop(SitcomContext runtime)
 {
     if (!mFinish)
     {
         runtime.Push(this);
     }
     else
     {
         mExecuting = false;
         mFinish    = false;
         mIsReading = false;
         runtime.Heap.EndStack();
     }
 }
コード例 #6
0
 public void OnExecute(SitcomContext runtime)
 {
     if (!mExecuting)
     {
         mExecuting = true;
         mFinish    = false;
         if (!mIsReading)
         {
             BeginRead();
         }
         runtime.Heap.BeginStack();
     }
     if (SelectNextMark() && mCmd.Read(this))
     {
         runtime.Push(mCmd);
     }
     else
     {
         mFinish = true;
     }
 }
コード例 #7
0
 public override void OnExecute(SitcomContext runtime)
 {
     runtime.Push(mLeft);
     runtime.Push(mRight);
 }