Game.h 910 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <Text.h>
  3. #include <Punkt.h>
  4. #include <Thread.h>
  5. #include "Dimension.h"
  6. #include "Player.h"
  7. #include "WorldGenerator.h"
  8. #include "Constants.h"
  9. #include "WorldUpdate.h"
  10. #include "WorldLoader.h"
  11. class Game : public virtual Framework::Thread
  12. {
  13. private:
  14. Framework::Text name;
  15. Framework::RCArray<Dimension> *dimension;
  16. Framework::RCArray<Entity> *entities;
  17. Framework::RCArray<WorldUpdate> *updates;
  18. WorldGenerator *generator;
  19. WorldLoader *loader;
  20. __int64 tickId;
  21. void thread() override;
  22. public:
  23. Game();
  24. ~Game();
  25. void requestWorldUpdate( WorldUpdate *update );
  26. bool doesChunkExist( int x, int y, int dimension ) const;
  27. Block *zBlockAt( Framework::Vec3<int> location, int dimension ) const;
  28. Framework::Punkt getChunkCenter( int x, int y ) const;
  29. Text getWorldDirectory() const;
  30. void requestArea( Area area );
  31. void save();
  32. };