protected override void OnEnter(RemoteBlackBoard blackBoard)
        {
            m_sDistance = 0;
            m_cRemote   = blackBoard.remote;
            var remoteTargetType = blackBoard.remote.remoteData.remoteTarget;

            switch (remoteTargetType)
            {
            case RemoteTargetType.Target:
                m_sTargetPosition = m_cRemote.target.curPosition;
                break;

            case RemoteTargetType.TargetForward:
                m_sTargetPosition = m_cRemote.curPosition + m_cRemote.targetForward * m_cActionData.maxDistance;
                break;

            case RemoteTargetType.TargetPosition:
                m_sTargetPosition = m_cRemote.targetPosition;
                break;
            }
            m_cPointMove.Clear();
            m_cPointMove.OnMoveStart += OnStartMove;
            m_cPointMove.OnMove      += OnMove;
            m_cPointMove.OnMoveStop  += OnStopMove;
            m_cPointMove.OnWillMove  += OnWillMove;
            m_cPointMove.Move(m_cRemote.curPosition, m_sTargetPosition, m_cActionData.speed);
            m_eCurActionResult = BTActionResult.Running;
        }
示例#2
0
 protected void ResetMove()
 {
     m_cMove.Clear();
     m_cRotate.Clear();
     m_cLerpMoveView.StopMove();
 }