/// <summary> /// 显示 range 范围内其他单元格到计算坐标的距离 /// </summary> /// <param name="calculayePosition">计算坐标</param> /// <param name="range">计算范围</param> private void CalculateDistance(Vector2Int source, Vector2Int destination) { var resultDict = HexTileMetrics.ShortestPath(m_HexGrid, source, destination); hexCellDebugTxtCanvas.Clear(); int count = 1; hexCellDebugTxtCanvas. SetTxts(resultDict, resultDict.Select(x => (count += m_HexGrid[x].ThroughCost).ToString()).ToArray()); }
private void HexTileInputEvent_NewClick(object sender, HexTileInputEventArgs e) { //Debug.Log($"ClickButtomCoed:{e.ClickButtomCoed} ClickPosition:{e.ClickPosition}"); if (SelectRoleEntity != null) { if (e.ClickButtomCoed == MouseButton.RightMouse) { SelectRoleEntity.MoveRole(HexTileMetrics.ShortestPath(hexGrid, SelectRoleEntity.RolePosition, e.ClickPosition)); } if (e.ClickButtomCoed == MouseButton.LeftMouse && e.ClickPosition.ToVector3Int() != SelectRoleEntity.MoveComponent.CurrentRolePosition) { SelectRoleEntity.IsSelect = false; SelectRoleEntity = null; } } }