载入中...
搜索中...
未找到
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:
19 void setGid(const std::string &palette, const std::string &semantic, int gid);
21 int getGid(const std::string &palette, const std::string &semantic) const;
23 int getGid(const std::string &palette, uint32_t semanticId) const;
25 bool applyToLayer(const Grid2D &grid, const std::string &palette, map::TileLayer *layer,
26 std::string *error) const;
27
28private:
29 std::unordered_map<std::string, std::unordered_map<std::string, int>> palettes_;
30};
31
32} // namespace eve::procgen
std::string palette
std::string error
Definition Package.cpp:60
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:32
Intermediate 2D generation result. cells store semantic ids (see Semantic.h), not tile GIDs — convert...
Definition Grid2D.h:36
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
Applies to layer.
void setGid(const std::string &palette, const std::string &semantic, int gid)
Sets the gid.
Definition Palette.cpp:7
int getGid(const std::string &palette, const std::string &semantic) const
Returns the gid.
Definition Palette.cpp:11
放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectang...
uint32_t semanticId(const std::string &name)
Semantic id.
Definition Semantic.cpp:40