Files
UnrealEngine/Engine/Plugins/AI/MassAI/Source/MassNavigation/Private/MassSteeringTrait.cpp
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

35 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Steering/MassSteeringTrait.h"
#include "MassEntityTemplateRegistry.h"
#include "MassCommonFragments.h"
#include "MassMovementFragments.h"
#include "MassNavigationFragments.h"
#include "Steering/MassSteeringFragments.h"
#include "Engine/World.h"
#include "MassEntityUtils.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(MassSteeringTrait)
void UMassSteeringTrait::BuildTemplate(FMassEntityTemplateBuildContext& BuildContext, const UWorld& World) const
{
FMassEntityManager& EntityManager = UE::Mass::Utils::GetEntityManagerChecked(World);
BuildContext.RequireFragment<FAgentRadiusFragment>();
BuildContext.RequireFragment<FTransformFragment>();
BuildContext.RequireFragment<FMassVelocityFragment>();
BuildContext.RequireFragment<FMassForceFragment>();
BuildContext.AddFragment<FMassMoveTargetFragment>();
BuildContext.AddFragment<FMassSteeringFragment>();
BuildContext.AddFragment<FMassStandingSteeringFragment>();
BuildContext.AddFragment<FMassGhostLocationFragment>();
const FConstSharedStruct MovingSteeringFragment = EntityManager.GetOrCreateConstSharedFragment(MovingSteering);
BuildContext.AddConstSharedFragment(MovingSteeringFragment);
const FConstSharedStruct StandingSteeringFragment = EntityManager.GetOrCreateConstSharedFragment(StandingSteering);
BuildContext.AddConstSharedFragment(StandingSteeringFragment);
}