World.h 962 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include <Welt3D.h>
  3. #include <Bildschirm.h>
  4. #include <Kam3D.h>
  5. #include <Thread.h>
  6. #include "Dimension.h"
  7. #include "CurrentPlayer.h"
  8. #include "PlayerKam.h"
  9. class World : public Framework::Thread
  10. {
  11. private:
  12. Framework::RCArray<Dimension>* dimensions;
  13. CurrentPlayer* currentPlayer;
  14. Framework::Welt3D* renderedWorld;
  15. Framework::Bildschirm3D* zScreenPtr;
  16. PlayerKam* kam;
  17. bool firstMessage;
  18. public:
  19. World( Framework::Bildschirm3D* zScreen );
  20. ~World();
  21. void update( bool background );
  22. void setChunk( Chunk* chunk, int dimensionId );
  23. void thread() override;
  24. Framework::Either<Block*, int> zBlockAt( Framework::Vec3<int> location, int dimension ) const;
  25. Dimension* zDimension( int id ) const;
  26. void setVisibility( Framework::Model3D* zModel, bool visible );
  27. Framework::Bildschirm3D* zScreen() const;
  28. Framework::Punkt getChunkCenter( int x, int y ) const;
  29. };