mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-18 18:57:57 -05:00
Add menu matcher for fullscreen property
This commit is contained in:
@ -0,0 +1,24 @@
|
||||
#include "SequenceFullScreen.h"
|
||||
|
||||
#include "Parsing/Menu/MenuMatcherFactory.h"
|
||||
|
||||
using namespace menu;
|
||||
|
||||
SequenceFullScreen::SequenceFullScreen()
|
||||
{
|
||||
const MenuMatcherFactory create(this);
|
||||
|
||||
AddMatchers({
|
||||
create.KeywordIgnoreCase("fullscreen"),
|
||||
create.Numeric().Capture(CAPTURE_VALUE)
|
||||
});
|
||||
}
|
||||
|
||||
void SequenceFullScreen::ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const
|
||||
{
|
||||
assert(state->m_current_menu);
|
||||
|
||||
const auto nameValue = MenuMatcherFactory::TokenNumericIntValue(result.NextCapture(CAPTURE_VALUE));
|
||||
|
||||
state->m_current_menu->m_fullscreen = nameValue > 0;
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "Parsing/Menu/MenuFileParser.h"
|
||||
|
||||
namespace menu
|
||||
{
|
||||
class SequenceFullScreen final : public MenuFileParser::sequence_t
|
||||
{
|
||||
static constexpr auto CAPTURE_VALUE = 1;
|
||||
|
||||
protected:
|
||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||
|
||||
public:
|
||||
SequenceFullScreen();
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user