mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-10 14:58:10 -05:00
Add basic parsing for menu lists with only loadMenus instructions
This commit is contained in:
30
src/ObjLoading/Parsing/Menu/MenuFileParser.h
Normal file
30
src/ObjLoading/Parsing/Menu/MenuFileParser.h
Normal file
@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include "MenuFileParserState.h"
|
||||
#include "Parsing/Simple/SimpleLexer.h"
|
||||
#include "Parsing/Simple/SimpleParserValue.h"
|
||||
#include "Parsing/Impl/AbstractParser.h"
|
||||
|
||||
class MenuFileParser final : public AbstractParser<SimpleParserValue, MenuFileParserState>
|
||||
{
|
||||
std::vector<std::unique_ptr<sequence_t>> m_all_tests;
|
||||
std::vector<sequence_t*> m_no_scope_tests;
|
||||
std::vector<sequence_t*> m_global_scope_tests;
|
||||
std::vector<sequence_t*> m_function_scope_tests;
|
||||
std::vector<sequence_t*> m_menu_scope_tests;
|
||||
std::vector<sequence_t*> m_item_scope_tests;
|
||||
|
||||
void AddTest(std::vector<sequence_t*>& collection, std::unique_ptr<sequence_t> test);
|
||||
void CreateNoScopeTests();
|
||||
void CreateGlobalScopeTests();
|
||||
void CreateFunctionScopeTests();
|
||||
void CreateMenuScopeTests();
|
||||
void CreateItemScopeTests();
|
||||
void CreateTestCollections();
|
||||
|
||||
protected:
|
||||
const std::vector<sequence_t*>& GetTestsForState() override;
|
||||
|
||||
public:
|
||||
MenuFileParser(SimpleLexer* lexer, MenuFeatureLevel featureLevel);
|
||||
};
|
Reference in New Issue
Block a user