1234567891011121314151617181920212223242526272829303132333435363738 |
- #pragma once
- #include "DimensionGenerator.h"
- #include "GeneratorRule.h"
- #include "GeneratorTemplate.h"
- #include "Dimension.h"
- class TypeRegistry : public Framework::ReferenceCounter
- {
- private:
- Framework::RCArray<GeneratorRuleFactory> generatorRules;
- Framework::RCArray<DimensionGeneratorFactory> dimensionGenerators;
- Framework::RCArray<DimensionFactory> dimensionFactories;
- 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 registerDimension(DimensionFactory* factory);
- Dimension* createDimension(int id);
- void registerGeneratorTemplate(GeneratorTemplateFactory* factory);
- GeneratorTemplate* createGeneratorTemplate(
- Framework::JSON::JSONValue* zConfig);
- Framework::JSON::Validator::JSONValidator* getGeneratorTemplateValidator();
- };
|