feat(地图系统): 增强移动区域调试功能
- 添加移动区域边界结构体MoveAreaBounds并集成到地图配置中 - 实现移动区域索引查找和高亮显示功能 - 增加可移动区域检查开关movableAreaCheckEnabled - 优化调试信息显示,包括坐标和当前所在移动区域 - 重构移动区域相关代码,提高可维护性
This commit is contained in:
@@ -7,17 +7,26 @@ namespace frostbite2D {
|
||||
|
||||
class GameMapLayer : public Actor {
|
||||
public:
|
||||
static constexpr size_t kInvalidMoveAreaIndex = static_cast<size_t>(-1);
|
||||
|
||||
void Render() override;
|
||||
|
||||
void SetDebugFeasibleAreaPolygon(const std::vector<Vec2>& polygon);
|
||||
void AddDebugMoveAreaInfo(const Rect& rect);
|
||||
void AddDebugMoveAreaInfo(const Rect& rect, size_t index);
|
||||
void SetDebugHighlightedMoveAreaIndex(size_t index);
|
||||
void ClearDebugAreaInfo();
|
||||
void AddObject(RefPtr<Actor> obj);
|
||||
|
||||
private:
|
||||
struct DebugMoveAreaInfo {
|
||||
Rect rect;
|
||||
size_t index = kInvalidMoveAreaIndex;
|
||||
};
|
||||
|
||||
std::vector<Vec2> feasibleAreaPolygon_;
|
||||
std::vector<Rect> feasibleAreaFillRects_;
|
||||
std::vector<Rect> moveAreaInfoList_;
|
||||
std::vector<DebugMoveAreaInfo> moveAreaInfoList_;
|
||||
size_t highlightedMoveAreaIndex_ = kInvalidMoveAreaIndex;
|
||||
};
|
||||
|
||||
} // namespace frostbite2D
|
||||
|
||||
Reference in New Issue
Block a user