2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-07-06 19:21:52 +00:00
Files
OpenAssetTools/src/ObjLoading/Parsing/Menu/Sequence/Properties/GenericBoolPropertySequence.cpp
2021-11-01 12:28:40 +01:00

28 lines
746 B
C++

#include "GenericBoolPropertySequence.h"
#include <utility>
#include "Parsing/Menu/MenuMatcherFactory.h"
using namespace menu;
GenericBoolPropertySequence::GenericBoolPropertySequence(std::string keywordName, callback_t setCallback)
: m_set_callback(std::move(setCallback))
{
const MenuMatcherFactory create(this);
AddMatchers({
create.KeywordIgnoreCase(std::move(keywordName)),
create.Integer().Capture(CAPTURE_VALUE)
});
}
void GenericBoolPropertySequence::ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const
{
if (m_set_callback)
{
const auto value = result.NextCapture(CAPTURE_VALUE).IntegerValue();
m_set_callback(state, value > 0);
}
}