public bool MoveCertainStep(ENewbieStepType inStepType, bool inIsCheckCurStep, ENewbieStepType inCheckStepType) { if (inIsCheckCurStep && this._curStep.GetStepType() != inCheckStepType) { return(false); } NewbieStepBase newbieStepBase = this.FindCertainStep(inStepType); if (newbieStepBase == null) { return(false); } if (this._curStep.GetStepType() == newbieStepBase.GetStepType()) { return(false); } this._curStep.OnLeave(); newbieStepBase.HandleAction(); this._curStep = newbieStepBase; this._curStep.DescribeSelf(); return(true); }