Files
Frostbite2D/Game/include/map/GameMapLayer.h
Lenheart f86ce35b68 feat(地图系统): 增强移动区域调试功能
- 添加移动区域边界结构体MoveAreaBounds并集成到地图配置中
- 实现移动区域索引查找和高亮显示功能
- 增加可移动区域检查开关movableAreaCheckEnabled
- 优化调试信息显示,包括坐标和当前所在移动区域
- 重构移动区域相关代码,提高可维护性
2026-04-06 14:36:51 +08:00

33 lines
822 B
C++

#pragma once
#include <frostbite2D/2d/actor.h>
#include <vector>
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, 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<DebugMoveAreaInfo> moveAreaInfoList_;
size_t highlightedMoveAreaIndex_ = kInvalidMoveAreaIndex;
};
} // namespace frostbite2D