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