#pragma once #include #include #include "InventoryView.h" #include "NetworkAPIProcessor.h" class ItemBarElement : public Framework::UIMLElement { public: ItemBarElement(); //! prüft, ob dieses UIML Element für ein bestimmtes xml Element zuständig //! ist bool isApplicableFor(Framework::XML::Element& element) override; //! erstellt eine neue Drawable zu einem gegebenen xml Element Framework::Drawable* parseElement(Framework::XML::Element& element, Framework::UIMLContainer& generalFactory) override; bool updateElement(Framework::XML::Element& element, Framework::Drawable& z, Framework::UIMLContainer& generalFactory) override; //! wendet die layout parameter zu einer Drawable an void layout(Framework::XML::Element& element, Framework::Drawable& z, int pWidth, int pHeight, Framework::UIMLContainer& generalLayouter) override; }; class ItemBarView : public Framework::DrawableBackground, public NetworkAPIProcessor { private: Framework::Text id; int rowSize; int targetEntity; Framework::Text slotNameFilter; Framework::Array* slots; int leftHandPos; public: ItemBarView(Framework::Text id, int rowSize, int targetEntity, Framework::Text slotNameFilter); ~ItemBarView(); void api(char* message) override; void render(Framework::Image& rObj) override; };