public void Move(List <TSVector> movePath) { if (CanMove()) { m_cMove.Move(m_sCurPosition, movePath, m_sMoveSpeed); } }
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; }