Files
UnrealEngineUWP/Engine/Plugins/AI/MassAI/Source/MassZoneGraphNavigation/Private/MassZoneGraphNavigationTrait.cpp
Maxime Mercier fe9f2be8a7 Constifying the world parameter for EntityTemplate Building
#jira none
#rb trivial
#rnx
#preflight 6245bad4292f228e09032c68

[CL 19572615 by Maxime Mercier in ue5-main branch]
2022-03-31 10:34:13 -04:00

28 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MassZoneGraphNavigationTrait.h"
#include "MassEntityTemplateRegistry.h"
#include "MassCommonFragments.h"
#include "MassMovementFragments.h"
#include "MassNavigationFragments.h"
#include "MassZoneGraphNavigationFragments.h"
#include "Engine/World.h"
void UMassZoneGraphNavigationTrait::BuildTemplate(FMassEntityTemplateBuildContext& BuildContext, const UWorld& World) const
{
UMassEntitySubsystem* EntitySubsystem = UWorld::GetSubsystem<UMassEntitySubsystem>(&World);
check(EntitySubsystem);
BuildContext.RequireFragment<FAgentRadiusFragment>();
BuildContext.RequireFragment<FTransformFragment>();
BuildContext.RequireFragment<FMassVelocityFragment>();
BuildContext.RequireFragment<FMassMoveTargetFragment>();
BuildContext.AddFragment<FMassZoneGraphLaneLocationFragment>();
BuildContext.AddFragment<FMassZoneGraphPathRequestFragment>();
BuildContext.AddFragment<FMassZoneGraphShortPathFragment>();
BuildContext.AddFragment<FMassZoneGraphCachedLaneFragment>();
const FConstSharedStruct ZGMovementParamsFragment = EntitySubsystem->GetOrCreateConstSharedFragment(UE::StructUtils::GetStructCrc32(FConstStructView::Make(NavigationParameters)), NavigationParameters);
BuildContext.AddConstSharedFragment(ZGMovementParamsFragment);
}