#include #include "CraftingGrid.h" using namespace Framework; CraftingGridElement::CraftingGridElement() : UIMLElement() {} //! prüft, ob dieses UIML Element für ein bestimmtes xml Element zuständig ist bool CraftingGridElement::isApplicableFor(Framework::XML::Element& element) { return element.getName().istGleich("inventory"); } //! erstellt eine neue Zeichnung zu einem gegebenen xml Element Framework::Zeichnung* CraftingGridElement::parseElement(Framework::XML::Element& element, Framework::UIMLContainer& generalFactory) { Text targetValue = element.getAttributeValue("target"); Vec3 blockPos(0, 0, 0); Framework::Either> target((int)targetValue); if (targetValue.hat(',')) { Text* first = targetValue.getTeilText(0, targetValue.positionVon(",", 0) + 1); Text* second = targetValue.getTeilText(targetValue.positionVon(",", 0) + 1, targetValue.positionVon(",", 1)); Text* third = targetValue.getTeilText(targetValue.positionVon(",", 1) + 1, targetValue.positionVon(",", 2)); Text* forth = targetValue.getTeilText(targetValue.positionVon(",", 2) + 1); target = Framework::Either>(VecN({ (int)*first, (int)*second, (int)*third, (int)*forth })); first->release(); second->release(); third->release(); forth->release(); } return new CraftingGridView((int)element.getAttributeValue("rowSize"), (int)element.getAttributeValue("colSize"), (int)element.getAttributeValue("numOutputSlots"), target); } //! wendet die layout parameter zu einer Zeichnung an void CraftingGridElement::layout(Framework::XML::Element& element, Framework::Zeichnung& z, int pWidth, int pHeight, Framework::UIMLContainer& generalLayouter) { UIMLElement::layout(element, z, pWidth, pHeight, generalLayouter); } CraftingGridView::CraftingGridView(int rowSize, int colSize, int numOutputSlots, Either> target) : ZeichnungHintergrund(), rowSize(rowSize), colSize(colSize), numOutputSlots(numOutputSlots), target(target) {} void CraftingGridView::api(char* message) { } bool CraftingGridView::tick(double tickVal) { return ZeichnungHintergrund::tick(tickVal); } void CraftingGridView::render(Bild& rObj) { ZeichnungHintergrund::render(rObj); } void CraftingGridView::doMausEreignis(MausEreignis& me, bool userRet) { ZeichnungHintergrund::doMausEreignis(me, userRet); }