12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace CommonAI.RTS.Manhattan
- {
- /// <summary>
- /// 曼哈顿寻路基础数据结构
- /// </summary>
- public interface IManhattanMap : IDisposable
- {
- float TotalWidth { get; }
- float TotalHeight { get; }
- /// <summary>
- /// 获取地图X格子数
- /// </summary>
- /// <returns></returns>
- int XCount { get; }
- /// <summary>
- /// 获取地图Y格子数
- /// </summary>
- /// <returns></returns>
- int YCount { get; }
- /// <summary>
- /// 获取地图每格宽
- /// </summary>
- /// <returns></returns>
- float CellW { get; }
- /// <summary>
- /// 获取地图每格高
- /// </summary>
- /// <returns></returns>
- float CellH { get; }
- /// <summary>
- /// 测试是否有阻挡,true=不能通过
- /// </summary>
- /// <param name="bx"></param>
- /// <param name="by"></param>
- /// <returns>true=不能通过 ;false=可以通过</returns>
- bool TestBlock(int bx, int by);
- /// <summary>
- /// 测试值是否有阻挡,true=不能通过
- /// </summary>
- /// <param name="value">碰撞值</param>
- /// <returns>true=不能通过 ;false=可以通过</returns>
- bool TestBlockValue(int value);
- /// <summary>
- /// 获取地块值
- /// </summary>
- /// <param name="bx"></param>
- /// <param name="by"></param>
- /// <returns></returns>
- int GetValue(int bx, int by);
- /// <summary>
- /// 设置地块值
- /// </summary>
- /// <param name="bx"></param>
- /// <param name="by"></param>
- /// <param name="value"></param>
- /// <returns>是否发生变化</returns>
- bool SetValue(int bx, int by, int value);
- /// <summary>
- /// 创建地图节点
- /// </summary>
- /// <returns></returns>
- AstarManhattan.MMapNode CreateMapNode();
- }
- }
|