载入中...
搜索中...
未找到
Palette.h
浏览该文件的文档.
1#pragma once
2
3#include "procgen/Grid2D.h"
4
5#include <cstdint>
6#include <string>
7#include <unordered_map>
8
9namespace eve::map {
10class TileLayer;
11}
12
13namespace eve::procgen {
14
17public:
18 void setGid(const std::string &palette, const std::string &semantic, int gid);
19 int getGid(const std::string &palette, const std::string &semantic) const;
20 int getGid(const std::string &palette, uint32_t semanticId) const;
21 bool applyToLayer(const Grid2D &grid, const std::string &palette, map::TileLayer *layer,
22 std::string *error) const;
23
24private:
25 std::unordered_map<std::string, std::unordered_map<std::string, int>> palettes_;
26};
27
28} // namespace eve::procgen
std::string error
TileLayer * layer
uint32_t semantic
Definition WfcSimple.cpp:15
ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas ...
Definition TileLayer.h:30
Intermediate 2D generation result. cells store semantic ids (see Semantic.h), not tile GIDs — convert...
Definition Grid2D.h:16
Named palette: semantic name -> tile GID. Unmapped semantics become GID 0.
Definition Palette.h:16
bool applyToLayer(const Grid2D &grid, const std::string &palette, map::TileLayer *layer, std::string *error) const
Definition Palette.cpp:24
void setGid(const std::string &palette, const std::string &semantic, int gid)
Definition Palette.cpp:9
int getGid(const std::string &palette, const std::string &semantic) const
Definition Palette.cpp:13
放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectang...
uint32_t semanticId(const std::string &name)
Definition Semantic.cpp:39