public void MoveNextStep()
        {
            if (this._curStep == null)
            {
                return;
            }
            NewbieStepBase nextStep = this._curStep.GetNextStep();

            if (nextStep == null)
            {
                return;
            }
            this._curStep.OnLeave();
            nextStep.HandleAction();
            this._curStep = nextStep;
            this._curStep.DescribeSelf();
        }
        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);
        }