载入中...
搜索中...
未找到
Semantic.cpp
浏览该文件的文档.
1#include "procgen/Semantic.h"
2
3#include <unordered_map>
4
5namespace eve::procgen {
6namespace {
7
8const std::unordered_map<std::string, uint32_t> &nameToId() {
9 static const std::unordered_map<std::string, uint32_t> m = {
10 {"empty", Semantic::Empty}, {"wall", Semantic::Wall},
11 {"floor", Semantic::Floor}, {"corridor", Semantic::Corridor},
12 {"water", Semantic::Water}, {"sand", Semantic::Sand},
13 {"grass", Semantic::Grass}, {"dirt", Semantic::Dirt},
14 {"stone", Semantic::Stone}, {"snow", Semantic::Snow},
15 {"door", Semantic::Door},
16 };
17 return m;
18}
19
20} // namespace
21
22const char *semanticName(uint32_t id) {
23 switch (id) {
24 case Semantic::Empty: return "empty";
25 case Semantic::Wall: return "wall";
26 case Semantic::Floor: return "floor";
27 case Semantic::Corridor: return "corridor";
28 case Semantic::Water: return "water";
29 case Semantic::Sand: return "sand";
30 case Semantic::Grass: return "grass";
31 case Semantic::Dirt: return "dirt";
32 case Semantic::Stone: return "stone";
33 case Semantic::Snow: return "snow";
34 case Semantic::Door: return "door";
35 default: return "unknown";
36 }
37}
38
39uint32_t semanticId(const std::string &name) {
40 auto it = nameToId().find(name);
41 return it == nameToId().end() ? Semantic::Empty : it->second;
42}
43
44} // namespace eve::procgen
const char * name
Definition RockMesh.cpp:21
float m[16]
constexpr uint32_t Floor
Definition Semantic.h:12
constexpr uint32_t Grass
Definition Semantic.h:16
constexpr uint32_t Stone
Definition Semantic.h:18
constexpr uint32_t Wall
Definition Semantic.h:11
constexpr uint32_t Sand
Definition Semantic.h:15
constexpr uint32_t Dirt
Definition Semantic.h:17
constexpr uint32_t Corridor
Definition Semantic.h:13
constexpr uint32_t Empty
Definition Semantic.h:10
constexpr uint32_t Door
Definition Semantic.h:20
constexpr uint32_t Water
Definition Semantic.h:14
constexpr uint32_t Snow
Definition Semantic.h:19
uint32_t semanticId(const std::string &name)
Definition Semantic.cpp:39
const char * semanticName(uint32_t id)
Definition Semantic.cpp:22