123456789101112131415161718192021222324252627282930313233 |
- #pragma once
- #include "DimensionGenerator.h"
- #include "GeneratorRule.h"
- #include "GeneratorTemplate.h"
- class TypeRegistry : public Framework::ReferenceCounter
- {
- private:
- Framework::RCArray<GeneratorRuleFactory> generatorRules;
- Framework::RCArray<DimensionGeneratorFactory> dimensionGenerators;
- Framework::RCArray<GeneratorTemplateFactory> generatorTemplates;
- public:
- TypeRegistry();
- void registerGeneratorRuleFactory(GeneratorRuleFactory* factory);
- GeneratorRule* createGeneratorRule(
- Framework::JSON::JSONValue* zConfig, JExpressionMemory* zMemory);
- Framework::JSON::Validator::JSONValidator* getGeneratorRuleValidator();
- void registerDimensionGeneratorFactory(DimensionGeneratorFactory* factory);
- DimensionGenerator* createDimensionGenerator(
- Framework::JSON::JSONValue* zConfig, int worldSeed);
- Framework::JSON::Validator::JSONValidator* getDimensionGeneratorValidator();
- const Framework::RCArray<DimensionGeneratorFactory>&
- getDimensionGeneratorFactories() const;
- void registerGeneratorTemplate(GeneratorTemplateFactory* factory);
- GeneratorTemplate* createGeneratorTemplate(
- Framework::JSON::JSONValue* zConfig);
- Framework::JSON::Validator::JSONValidator* getGeneratorTemplateValidator();
- };
|