mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
Add menu matcher for fullscreen property
This commit is contained in:
parent
6c5825de6d
commit
68945de51a
@ -11,6 +11,8 @@ namespace menu
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
std::string m_name;
|
std::string m_name;
|
||||||
|
bool m_fullscreen;
|
||||||
|
|
||||||
std::vector<std::unique_ptr<CommonItemDef>> m_items;
|
std::vector<std::unique_ptr<CommonItemDef>> m_items;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include "Sequence/SequenceLoadMenu.h"
|
#include "Sequence/SequenceLoadMenu.h"
|
||||||
#include "Sequence/SequenceMenuDef.h"
|
#include "Sequence/SequenceMenuDef.h"
|
||||||
#include "Sequence/SequenceOpenGlobalScopeBlock.h"
|
#include "Sequence/SequenceOpenGlobalScopeBlock.h"
|
||||||
|
#include "Sequence/Properties/SequenceFullScreen.h"
|
||||||
#include "Sequence/Properties/SequenceName.h"
|
#include "Sequence/Properties/SequenceName.h"
|
||||||
|
|
||||||
using namespace menu;
|
using namespace menu;
|
||||||
@ -43,8 +44,10 @@ void MenuFileParser::CreateFunctionScopeTests()
|
|||||||
|
|
||||||
void MenuFileParser::CreateMenuScopeTests()
|
void MenuFileParser::CreateMenuScopeTests()
|
||||||
{
|
{
|
||||||
AddTest(m_menu_scope_tests, std::make_unique<SequenceName>());
|
|
||||||
AddTest(m_menu_scope_tests, std::make_unique<SequenceCloseBlock>());
|
AddTest(m_menu_scope_tests, std::make_unique<SequenceCloseBlock>());
|
||||||
|
AddTest(m_menu_scope_tests, std::make_unique<SequenceName>());
|
||||||
|
AddTest(m_menu_scope_tests, std::make_unique<SequenceFullScreen>());
|
||||||
|
|
||||||
AddTest(m_menu_scope_tests, std::make_unique<SequenceItemDef>());
|
AddTest(m_menu_scope_tests, std::make_unique<SequenceItemDef>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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();
|
||||||
|
};
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user