ItemBar.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <UIMLView.h>
  3. #include <Either.h>
  4. #include "NetworkAPIProcessor.h"
  5. #include "InventoryView.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 ist
  11. bool isApplicableFor(Framework::XML::Element& element) override;
  12. //! erstellt eine neue Zeichnung zu einem gegebenen xml Element
  13. Framework::Zeichnung* parseElement(Framework::XML::Element& element, Framework::UIMLContainer& generalFactory) override;
  14. //! wendet die layout parameter zu einer Zeichnung an
  15. void layout(Framework::XML::Element& element, Framework::Zeichnung& z, int pWidth, int pHeight, Framework::UIMLContainer& generalLayouter) override;
  16. };
  17. class ItemBarView : public Framework::ZeichnungHintergrund, public NetworkAPIProcessor
  18. {
  19. private:
  20. Framework::Text id;
  21. int rowSize;
  22. int targetEntity;
  23. Framework::Text slotNameFilter;
  24. Framework::Array<SlotInfo>* slots;
  25. int leftHandPos;
  26. public:
  27. ItemBarView(Framework::Text id, int rowSize, int targetEntity, Framework::Text slotNameFilter);
  28. ~ItemBarView();
  29. void api(char* message) override;
  30. void render(Framework::Bild& rObj) override;
  31. };