1234567891011121314151617181920212223242526272829303132333435363738 |
- #pragma once
- #include <functional>
- #include "GeneratorTemplate.h"
- #include "JsonExpression.h"
- #include "Noise.h"
- class StructureTemplateCollection : public virtual Framework::ReferenceCounter
- {
- private:
- Noise* activeNoise;
- Noise* structureNoise;
- double threshold;
- Framework::RCArray<GeneratorTemplate> structures;
- Framework::Vec3<int> minAffected;
- Framework::Vec3<int> maxAffected;
- JBoolExpression* condition;
- public:
- StructureTemplateCollection(
- Framework::JSON::JSONValue* zConfig, JExpressionMemory* zMemory);
- ~StructureTemplateCollection();
- void generateStructures(int x,
- int y,
- int z,
- int dimensionId,
- JExpressionMemory* zMemory,
- Framework::Vec3<int> minPos,
- Framework::Vec3<int> maxPos,
- Framework::RCArray<GeneratedStructure>* zResult);
- const Framework::RCArray<GeneratorTemplate>& getStructures() const;
- Framework::Vec3<int> getMinAffected() const;
- Framework::Vec3<int> getMaxAffected() const;
- static Framework::JSON::Validator::JSONValidator* getConfigValidator();
- };
|