载入中...
搜索中...
未找到
Params.h
浏览该文件的文档.
1#pragma once
2
3#include <cstdint>
4#include <string>
5#include <unordered_map>
6
7namespace eve::procgen {
8
13class Params {
14public:
15 void setSeed(uint32_t seed);
16 uint32_t getSeed() const;
17
18 void setSize(int width, int height);
19 int getWidth() const;
20 int getHeight() const;
21
22 void setInt(const std::string &key, int value);
23 void setFloat(const std::string &key, float value);
24 void setString(const std::string &key, const std::string &value);
25 bool has(const std::string &key) const;
26 int getInt(const std::string &key, int defaultValue) const;
27 float getFloat(const std::string &key, float defaultValue) const;
28 std::string getString(const std::string &key, const std::string &defaultValue) const;
29
30private:
31 uint32_t seed_ = 1;
32 int width_ = 32;
33 int height_ = 32;
34 std::unordered_map<std::string, std::string> values_;
35};
36
37} // namespace eve::procgen
uint32_t seed
std::string value
float height
Definition Grass.cpp:235
int width
Generation parameters. Algorithm-specific keys live in values as strings (no overloads; typed setters...
Definition Params.h:13
uint32_t getSeed() const
Definition Params.cpp:8
void setSize(int width, int height)
Definition Params.cpp:10
void setInt(const std::string &key, int value)
Definition Params.cpp:17
int getHeight() const
Definition Params.cpp:15
int getWidth() const
Definition Params.cpp:14
bool has(const std::string &key) const
Definition Params.cpp:21
float getFloat(const std::string &key, float defaultValue) const
Definition Params.cpp:32
void setSeed(uint32_t seed)
Definition Params.cpp:7
void setFloat(const std::string &key, float value)
Definition Params.cpp:18
std::string getString(const std::string &key, const std::string &defaultValue) const
Definition Params.cpp:41
int getInt(const std::string &key, int defaultValue) const
Definition Params.cpp:23
void setString(const std::string &key, const std::string &value)
Definition Params.cpp:19