123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #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, Vec3<int>> 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);
- target = Framework::Either<int, Vec3<int>>(Vec3<int>((int)*first, (int)*second, (int)*third));
- first->release();
- second->release();
- third->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, Vec3<int>> 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);
- }
|