Beispiel #1
0
        /// <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());
        }
Beispiel #2
0
 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;
         }
     }
 }