1234567891011121314151617181920212223242526 |
- #pragma once
- #include <ReferenceCounter.h>
- #include <Either.h>
- #include "GenerationTemplate.h"
- class Block;
- class Noise;
- class BiomGenerator : public virtual Framework::ReferenceCounter
- {
- private:
- Framework::RCArray<GenerationTemplate> templates;
- protected:
- void addTemplateGenerator(GenerationTemplate* gTemplate);
- public:
- BiomGenerator();
- virtual Framework::Either<Block*, int> generateSurfaceBlock(int x, int y, int z) = 0;
- virtual Framework::Either<Block*, int> generateBelowSurfaceBlock(int x, int y, int z) = 0;
- virtual Framework::Either<Block*, int> generateCaveBlock(int x, int y, int z) = 0;
- virtual Noise* zHeightMapNoise(int seed) = 0;
- const Framework::RCArray<GenerationTemplate>& getTemplates();
- };
|