WorldGenerator.h 554 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include <Thread.h>
  3. #include "DimensionGenerator.h"
  4. #include "Area.h"
  5. class Game;
  6. class WorldGenerator : public Framework::Thread
  7. {
  8. private:
  9. CriticalSection cs;
  10. Framework::Array<Area> requestQueue;
  11. Game* zGame;
  12. Noise* noise;
  13. bool exit;
  14. public:
  15. WorldGenerator( int seed, Game* zGame );
  16. ~WorldGenerator();
  17. void thread() override;
  18. void requestGeneration( Area request );
  19. void exitAndWait();
  20. Framework::Either<Block*, int> generateSingleBlock( Framework::Vec3<int> location, int dimensionId );
  21. };