mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-05-09 16:11:17 +00:00

* Add utilities for formats * Normalize model positions when placing in the world Have tested that placing a small and very large model both place and are located at the correct position. * add migration * Update Logger.cpp * add some notes and remove some logs * change arguments and add eof check Revert "fix: buff station cycling and dying too soon" This reverts commit 1c6cb2921e10eb2000ac40007d0c2636ba2ac151. fix: buff station cycling and dying too soon Tested that the buff station now only cycles after it has been built and has been alive for 25 seconds.
38 lines
1012 B
C++
38 lines
1012 B
C++
#include "TinyXmlUtils.h"
|
|
|
|
#include <tinyxml2.h>
|
|
|
|
using namespace TinyXmlUtils;
|
|
|
|
Element DocumentReader::operator[](const std::string_view elem) const {
|
|
return Element(m_Doc.FirstChildElement(elem.empty() ? nullptr : elem.data()), elem);
|
|
}
|
|
|
|
Element::Element(tinyxml2::XMLElement* xmlElem, const std::string_view elem) :
|
|
m_IteratedName{ elem },
|
|
m_Elem{ xmlElem } {
|
|
}
|
|
|
|
Element Element::operator[](const std::string_view elem) const {
|
|
const auto* usedElem = elem.empty() ? nullptr : elem.data();
|
|
auto* toReturn = m_Elem ? m_Elem->FirstChildElement(usedElem) : nullptr;
|
|
return Element(toReturn, m_IteratedName);
|
|
}
|
|
|
|
ElementIterator Element::begin() {
|
|
return ElementIterator(m_Elem ? m_Elem->FirstChildElement() : nullptr);
|
|
}
|
|
|
|
ElementIterator Element::end() {
|
|
return ElementIterator(nullptr);
|
|
}
|
|
|
|
ElementIterator::ElementIterator(tinyxml2::XMLElement* elem) :
|
|
m_CurElem{ elem } {
|
|
}
|
|
|
|
ElementIterator& ElementIterator::operator++() {
|
|
if (m_CurElem) m_CurElem = m_CurElem->NextSiblingElement();
|
|
return *this;
|
|
}
|