载入中...
搜索中...
未找到
BiomeScript.cpp
浏览该文件的文档.
2
3#include "procgen/Biome.h"
4
5#include <simplesquirrel/simplesquirrel.hpp>
6
7#include <functional>
8
9namespace eve::procgen {
10
11void exposeBiomeRules(ssq::Table& table) {
12 auto biome = table.addClass<BiomeRules>(
13 "ProcgenBiomeRules", std::function<BiomeRules*()>([]() -> BiomeRules* { return nullptr; }),
14 true);
15 biome.addFunc("clear", &BiomeRules::clear);
16 biome.addFunc("addLayer", &BiomeRules::addLayer);
17 biome.addFunc("removeLayer", &BiomeRules::removeLayer);
18 biome.addFunc("hasLayer", &BiomeRules::hasLayer);
19 biome.addFunc("getLayerCount", &BiomeRules::getLayerCount);
20 biome.addFunc("getLayerName", &BiomeRules::getLayerName);
21 biome.addFunc("getLayerPriority", &BiomeRules::getLayerPriority);
22 biome.addFunc("getLayerDensity", &BiomeRules::getLayerDensity);
23 biome.addFunc("addAsset", &BiomeRules::addAsset);
24 biome.addFunc("getAssetCount", &BiomeRules::getAssetCount);
25 biome.addFunc("getAssetName", &BiomeRules::getAssetName);
26 biome.addFunc("addExclusion", &BiomeRules::addExclusion);
27 biome.addFunc("getExclusionCount", &BiomeRules::getExclusionCount);
28 biome.addFunc("generate", &BiomeRules::generate);
29 biome.addFunc("getError", &BiomeRules::getError);
30 biome.addFunc("debugReport", &BiomeRules::debugReport);
31}
32
33} // namespace eve::procgen
int biome
Data-driven biome distribution rules compatible with PointGraph and scene batches.
Definition Biome.h:40
std::string getLayerName(int index) const
Returns the layer name.
Definition Biome.cpp:49
int getExclusionCount() const
Returns the exclusion count.
Definition Biome.cpp:85
bool addAsset(const std::string &layerName, const std::string &asset, float weight, float minScale, float maxScale, bool randomYaw)
Add a weighted asset rule to a layer.
Definition Biome.cpp:61
std::string getError() const
Returns the error.
Definition Biome.cpp:150
int getLayerPriority(const std::string &name) const
Returns the layer priority.
Definition Biome.cpp:52
float getLayerDensity(const std::string &name) const
Returns the layer density.
Definition Biome.cpp:56
std::string getAssetName(const std::string &layerName, int index) const
Returns the asset name.
Definition Biome.cpp:74
bool hasLayer(const std::string &name) const
True when layer.
Definition Biome.cpp:47
int getAssetCount(const std::string &layerName) const
Returns the asset count.
Definition Biome.cpp:70
int getLayerCount() const
Returns the layer count.
Definition Biome.cpp:48
bool addLayer(const std::string &name, SpatialData *spatial, int priority, float density)
Add a named spatial layer. Names are unique.
Definition Biome.cpp:28
bool removeLayer(const std::string &name)
Removes layer.
Definition Biome.cpp:39
void clear()
Remove layers and exclusions.
Definition Biome.cpp:20
bool addExclusion(SpatialData *spatial)
Add a copied spatial exclusion shared by every layer.
Definition Biome.cpp:80
std::string debugReport() const
Debug report.
Definition Biome.cpp:151
PointSet * generate(SpatialData *domain, float spacing, uint32_t seed, float jitter)
Generate attributed biome points.
Definition Biome.cpp:87
void exposeBiomeRules(ssq::Table &table)
Register biome rules on the Procgen module table.