1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include <XML.h>
- #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<int> blockPos(0, 0, 0);
- Framework::Either<int, VecN<int, 4>> 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<int, VecN<int, 4>>(VecN<int, 4>({ (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<int, VecN<int, 4>> 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);
- }
|