Visão geral
A API de consulta/processador do Mass simplificada tem como objetivo reduzir clichês na criação de lógica de processador do Mass e aumentar a legibilidade do código e a segurança de tipo. Esta é uma API opcional e o estilo atual continuará a ser compatível.
Como criar um processador do Mass com o QueryExecutor
Crie uma struct no .cpp que herda UE::Mass::FQueryExecutor seguindo este exemplo:
struct FExampleExecutor : public UE::Mass::FQueryExecutor
{
UE::Mass::FQueryDefinition<
UE::Mass::FMutableFragmentAccess<FExampleFragmentA>,
UE::Mass::FConstSubsystemAccess<UExampleSubsystem>,
UE::Mass::FMassTagRequired<FExampleTag>
> Accessors{ *this };
virtual void Execute(FMassExecutionContext& Context)
No momento, as QueryExecutors precisam pertencer a um UMassProcessor normal. Este requisito será removido em uma atualização futura.
Para criar um UMassProcessor do agrupador:
Crie uma classe que herda de UMassProcessor.
Não substitua as funções ConfigureQuery ou Execute.
Crie o QueryExecutor no constructor do processador da seguinte maneira:
C++UE::Mass::FQueryExecutor::CreateQuery<QueryType>(...)
Limitações
No momento, ainda é necessário um UMassProcessor para interagir com o executor de fase do Mass. Isso será corrigido em uma atualização futura.
A declaração do modelo FQueryDefinition requer definições completas dos tipos de consulta e, por isso, a realização desse procedimento em um arquivo de cabeçalho deve estar limitada a definições de consulta predefinidas (que não fazem parte de cabeçalhos de interface maiores). A prática recomendada é declará-los como privados no arquivo .cpp em que serão usados.