ItemBar.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include <Either.h>
  3. #include <UIMLView.h>
  4. #include "InventoryView.h"
  5. #include "NetworkAPIProcessor.h"
  6. class ItemBarElement : public Framework::UIMLElement
  7. {
  8. public:
  9. ItemBarElement();
  10. //! prüft, ob dieses UIML Element für ein bestimmtes xml Element zuständig
  11. //! ist
  12. bool isApplicableFor(Framework::XML::Element& element) override;
  13. //! erstellt eine neue Zeichnung zu einem gegebenen xml Element
  14. Framework::Zeichnung* parseElement(Framework::XML::Element& element,
  15. Framework::UIMLContainer& generalFactory) override;
  16. //! wendet die layout parameter zu einer Zeichnung an
  17. void layout(Framework::XML::Element& element,
  18. Framework::Zeichnung& z,
  19. int pWidth,
  20. int pHeight,
  21. Framework::UIMLContainer& generalLayouter) override;
  22. };
  23. class ItemBarView : public Framework::ZeichnungHintergrund,
  24. public NetworkAPIProcessor
  25. {
  26. private:
  27. Framework::Text id;
  28. int rowSize;
  29. int targetEntity;
  30. Framework::Text slotNameFilter;
  31. Framework::Array<SlotInfo>* slots;
  32. int leftHandPos;
  33. public:
  34. ItemBarView(Framework::Text id,
  35. int rowSize,
  36. int targetEntity,
  37. Framework::Text slotNameFilter);
  38. ~ItemBarView();
  39. void api(char* message) override;
  40. void render(Framework::Bild& rObj) override;
  41. };