Esempio n. 1
0
    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);
    }
Esempio n. 2
0
 //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();
         }
     }
 }