public virtual BLRunStatus Run(BulletMLBullet bullet) { End = true; foreach (var task in TaskList) { if (!task.End) { BLRunStatus sts = task.Run(bullet); if (sts == BLRunStatus.Stop) { End = false; return(BLRunStatus.Stop); } else if (sts == BLRunStatus.Continue) { End = false; } } } if (End) { return(BLRunStatus.End); } return(BLRunStatus.Continue); // 継続して実行 }
public virtual BLRunStatus Run(BulletMLBullet bullet) { end = true; for (int i = 0; i < taskList.Count; i++) { if (!taskList[i].end) { BLRunStatus sts = taskList[i].Run(bullet); if (sts == BLRunStatus.Stop) { end = false; return(BLRunStatus.Stop); } else if (sts == BLRunStatus.Continue) { end = false; } } } if (end) { return(BLRunStatus.End); } else { return(BLRunStatus.Continue); //継続して実行 } }
public override BLRunStatus Run(BulletMLBullet bullet) { while (repeatNum < repeatNumMax) { BLRunStatus runStatus = base.Run(bullet); if (runStatus == BLRunStatus.End) { repeatNum++; base.Init(); } else if (runStatus == BLRunStatus.Stop) { return(BLRunStatus.Stop); // BLRunStatus.Stop; } else { return(BLRunStatus.Continue); // BLRunStatus.Stop; } } end = true; return(BLRunStatus.End); //if (repeatNum < repeatNumMax) //{ // BLRunStatus runStatus = base.Run(bullet); // if (runStatus == BLRunStatus.End) // { // repeatNum++; // //if (bullet.index == DISP_BULLET_INDEX) Debug.WriteLine(String.Format("Repeat: {0} / {1}", repeatNum, repeatNumMax)); // base.Init(); // if (repeatNum == repeatNumMax) // { // end = true; // return BLRunStatus.End; // } // else // return BLRunStatus.Stop;// Continue; // } // else if (runStatus == BLRunStatus.Stop) // return BLRunStatus.Stop; // else // return BLRunStatus.Stop;// BLRunStatus.Continue; //} //else //{ // end = true; // return BLRunStatus.End; //} }