public void RenewMovePath(Vector3 path, eBATTLE_MOVE_STATUS eMoveStatus) { this.m_bArrived = false; if (this.m_eMoveStatus == eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_NORMAL) { this.m_AStarPath.Insert(0, this.m_vTargetPos); this.m_MoveStatus.Insert(0, eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_NORMAL); } if (this.m_eMoveStatus == eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_CHANGEPOS) { this.SetTargetPos(path.x, path.y, path.z); this.m_pkChar.m_k3DChar.SetLookAt(path.x, path.y, path.z, true); this.m_pkChar.m_k3DChar.MoveTo(path.x, path.y, path.z); } else { int num = this.m_MoveStatus.IndexOf(eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_NORMAL); if (num >= 0) { this.m_AStarPath.Insert(num, path); this.m_MoveStatus.Insert(num, eMoveStatus); } if (this.m_eMoveStatus == eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_WAIT) { this.m_eMoveStatus = eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_MAX; } this.ProcessCharMove(true); } }
public void ProcessCharMove(bool bStartMove) { if (this.m_bArrived) { return; } if (this.m_eMoveStatus == eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_WAIT) { return; } if (this.m_pkChar.m_k3DChar == null) { return; } bool flag = false; if (bStartMove) { flag = true; } else if (!this.m_pkChar.m_k3DChar.IsMoveToTarget()) { flag = true; } if (flag && this.m_AStarPath.Count > 0) { Vector3 vector = this.m_AStarPath[0]; this.m_AStarPath.RemoveAt(0); this.SetTargetPos(vector.x, vector.y, vector.z); this.m_eMoveStatus = this.m_MoveStatus[0]; this.m_MoveStatus.RemoveAt(0); this.m_pkChar.m_k3DChar.SetLookAt(new Vector3(vector.x, vector.y, vector.z)); this.m_pkChar.m_k3DChar.MoveTo(vector.x, vector.y, vector.z); } }
public void ForceStopChar(bool bSetAni, float x, float z) { if (this.m_bArrived) { return; } if (this.m_pkChar == null) { return; } if (this.m_pkChar.m_k3DChar == null) { return; } if (this.m_pkChar.IsReadyCharAction()) { if (x <= 0f || z > 0f) { } this.SetCharPos(this.m_pkChar.m_k3DChar.GetRootGameObject()); this.m_pkChar.m_k3DChar.MoveStop(bSetAni); } this.ClearPath(); this.m_bArrived = true; this.m_bFastMove = false; this.m_pkChar.SetIncreaseSpeed(0f); this.ClearArrowMarksAll(); NrTSingleton <NkClientLogic> .Instance.InitPickChar(); if (this.m_pkChar.GetCurrentOrder() == eBATTLE_ORDER.eBATTLE_ORDER_MOVE) { this.m_pkChar.SetCurrentOrder(eBATTLE_ORDER.eBATTLE_ORDER_NONE); } this.m_eMoveStatus = eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_MAX; }
public void AddAstarPath(float x, float y, float z, eBATTLE_MOVE_STATUS eSTATUS) { Vector3 item = new Vector3(x, y, z); if (eSTATUS == eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_STOP) { this.ClearPath(); this.m_MoveStatus.Clear(); this.m_eMoveStatus = eBATTLE_MOVE_STATUS.eBATTLE_MOVE_STATUS_MAX; } this.m_AStarPath.Add(item); this.m_MoveStatus.Add(eSTATUS); }