Game.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #pragma once
  2. #include <Button.h>
  3. #include <Image.h>
  4. #include "Chat.h"
  5. #include "Dialog.h"
  6. #include "DragController.h"
  7. #include "ItemList.h"
  8. #include "MapWindow.h"
  9. #include "Menu.h"
  10. class Player;
  11. class InventoryDragSource;
  12. class Game : public Menu
  13. {
  14. private:
  15. Framework::Button* logout;
  16. Framework::TextField* debug;
  17. Framework::Array<UIMLDialog*> dialogs;
  18. Framework::UIMLView* guiView;
  19. Framework::UIMLView* targetUIMLView;
  20. DragController<InventoryDragSource, int>* inventoryDragController;
  21. Framework::TextField* filter;
  22. Framework::ImageView* searchIcon;
  23. ItemListContainer* itemListContainer;
  24. Framework::Button* chatButton;
  25. Array<double> fpsHistory;
  26. MapWindow* mapWindow;
  27. Chat* chat;
  28. bool recipieVisible;
  29. ReadWriteLock dialogLock;
  30. public:
  31. // Konstruktor
  32. Game(Screen* zScreen);
  33. ~Game();
  34. void updatePosition(Vec3<float> position,
  35. bool target,
  36. Vec3<int> targetPos,
  37. double tickTime);
  38. void api(char* data);
  39. void closeCurrentDialog();
  40. DragController<InventoryDragSource, int>* zInventoryDragController();
  41. void setTargetUIML(Framework::Text uiml);
  42. void updateRecipieVisibility();
  43. void showItemList();
  44. bool isItemListVisible();
  45. const Text* zFilterText();
  46. void makeChatButtonVisible();
  47. Chat* zChat() const;
  48. MapWindow* zMap() const;
  49. void hide() override;
  50. };
  51. class ScreenCenter : public Framework::Drawable
  52. {
  53. public:
  54. ScreenCenter();
  55. virtual void render(Image& zRObj) override;
  56. };