public ErrorCode Restart(ActionInitParam param) // 不停止动画 { if (param == null) { return(ErrorCode.InvalidParam); } if (param.GetType() != typeof(ActionMoveInitParam)) { return(ErrorCode.InvalidParam); } ActionMoveInitParam thisParam = (ActionMoveInitParam)param; if (thisParam.wayOrDir) { mPathNodes = thisParam.wayPoint; mCurrentIndex = 0; mMoveMode = MOVE_MODE.MOVE_MODE_WAY; } else { mMoveMode = MOVE_MODE.MOVE_MODE_DIRECTION; mMoveDirection = thisParam.dir; mOwner.SetMoveDirection(mMoveDirection); } return(ErrorCode.Succeeded); }
//this function only effect with ac public void SetMoveMode(MOVE_MODE mm) { _moveMode = mm; if (_moveMode == MOVE_MODE.BY_ANIMATION) { //_navAgent.Stop(); if (_owner.ObjectID.getOnlyObjectType == FC_OBJECT_TYPE.OBJ_AC) { (_owner as ActionController).MoveByAnimator(true); } } else { if (_owner.ObjectID.getOnlyObjectType == FC_OBJECT_TYPE.OBJ_AC) { (_owner as ActionController).MoveByAnimator(false); } if (_isInNavPathFinding) { _navAgent.Resume(); } } }