StatusBars.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include <Schrift.h>
  3. #include <UIMLView.h>
  4. #include "InventoryView.h"
  5. #include "NetworkAPIProcessor.h"
  6. class StatusBarsElement : public Framework::UIMLElement
  7. {
  8. public:
  9. StatusBarsElement();
  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. bool updateElement(Framework::XML::Element& element,
  17. Framework::Zeichnung& z,
  18. Framework::UIMLContainer& generalFactory) override;
  19. //! wendet die layout parameter zu einer Zeichnung an
  20. void layout(Framework::XML::Element& element,
  21. Framework::Zeichnung& z,
  22. int pWidth,
  23. int pHeight,
  24. Framework::UIMLContainer& generalLayouter) override;
  25. };
  26. class StatusBarsView : public Framework::ZeichnungHintergrund,
  27. public NetworkAPIProcessor
  28. {
  29. private:
  30. Framework::Text id;
  31. int targetEntity;
  32. float health;
  33. float hunger;
  34. float thirst;
  35. float energy;
  36. Framework::Text healthText;
  37. Framework::Text hungerText;
  38. Framework::Text thirstText;
  39. Framework::Text energyText;
  40. Framework::Bild* healthIcon;
  41. Framework::Bild* hungerIcon;
  42. Framework::Bild* thirstIcon;
  43. Framework::Bild* energyIcon;
  44. Framework::TextRenderer tr;
  45. public:
  46. StatusBarsView(Framework::Text id, int targetEntity);
  47. ~StatusBarsView();
  48. void api(char* message) override;
  49. void render(Framework::Bild& rObj) override;
  50. };