mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-01-25 09:23:03 +00:00
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
#include "TechniqueFileParser.h"
|
|
|
|
#include "Sequence/TechniqueNoScopeSequences.h"
|
|
#include "Sequence/TechniquePassScopeSequences.h"
|
|
#include "Sequence/TechniqueShaderScopeSequences.h"
|
|
|
|
namespace techset
|
|
{
|
|
TechniqueParser::TechniqueParser(SimpleLexer& lexer,
|
|
std::string techniqueName,
|
|
const CommonCodeSourceInfos& codeSourceInfos,
|
|
const CommonStreamRoutingInfos& routingInfos)
|
|
: AbstractParser(&lexer, std::make_unique<TechniqueParserState>(std::move(techniqueName), codeSourceInfos, routingInfos))
|
|
{
|
|
}
|
|
|
|
std::unique_ptr<CommonTechnique> TechniqueParser::GetParsingResult() const
|
|
{
|
|
return std::move(m_state->m_technique);
|
|
}
|
|
|
|
const std::vector<TechniqueParser::sequence_t*>& TechniqueParser::GetTestsForState()
|
|
{
|
|
if (m_state->m_in_shader)
|
|
return TechniqueShaderScopeSequences::GetSequences();
|
|
|
|
if (m_state->m_in_pass)
|
|
return TechniquePassScopeSequences::GetSequences();
|
|
|
|
return TechniqueNoScopeSequences::GetSequences();
|
|
}
|
|
} // namespace techset
|