123456789101112131415161718192021222324252627282930313233343536 |
- #pragma once
- #include "NetworkAPIProcessor.h"
- #include <UIMLView.h>
- #include <Either.h>
- #include <VecN.h>
- class CraftingGridElement : public Framework::UIMLElement
- {
- public:
- CraftingGridElement();
- //! 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 Zeichnung zu einem gegebenen xml Element
- Framework::Zeichnung* parseElement(Framework::XML::Element& element, Framework::UIMLContainer& generalFactory) override;
- //! wendet die layout parameter zu einer Zeichnung an
- void layout(Framework::XML::Element& element, Framework::Zeichnung& z, int pWidth, int pHeight, Framework::UIMLContainer& generalLayouter) override;
- };
- class CraftingGridView : public Framework::ZeichnungHintergrund, public NetworkAPIProcessor
- {
- private:
- int rowSize;
- int colSize;
- int numOutputSlots;
- // entity id or block position
- Framework::Either<int, Framework::VecN<int, 4>> target;
- public:
- CraftingGridView(int rowSize, int colSize, int numOutputSlots, Framework::Either<int, Framework::VecN<int, 4>> target);
- void api(char* message) override;
- bool tick(double tickVal) override;
- void render(Framework::Bild& rObj) override;
- void doMausEreignis(Framework::MausEreignis& me, bool userRet) override;
- };
|