DimensionMap.h 1017 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <Zeichnung.h>
  3. #include <Trie.h>
  4. #include "ChunkMap.h"
  5. class DimensionMap : public Framework::ZeichnungHintergrund
  6. {
  7. private:
  8. Framework::Trie<ChunkMap>* chunks;
  9. Framework::Punkt originChunkCenter;
  10. Framework::Punkt scrollOffset;
  11. int chunkCount;
  12. int pixelsPerBlock;
  13. int maxHeight;
  14. bool waitingForChunk;
  15. bool drag;
  16. Framework::Punkt lastMouse;
  17. Framework::Punkt lastSize;
  18. void getAddrOf(Framework::Punkt cPos, char* addr) const;
  19. void getAddrOfWorld(Framework::Punkt wPos, char* addr) const;
  20. Framework::Punkt getMinVisibleChunkCenter(Framework::Punkt &screenPos) const;
  21. Framework::Punkt getMaxVisibleChunkCenter(
  22. Framework::Punkt& screenPos) const;
  23. public:
  24. DimensionMap();
  25. ~DimensionMap();
  26. void requestNextChunk();
  27. void addChunk(ChunkMap* chunk);
  28. bool tick(double time) override;
  29. void render(Framework::Bild& rObj) override;
  30. void doMausEreignis(Framework::MausEreignis& me, bool userRet) override;
  31. };