Files
UnrealEngine/Engine/Plugins/Runtime/MassGameplay/Source/MassReplication/Private/MassReplicationTransformHandlers.cpp
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

29 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MassReplicationTransformHandlers.h"
#include "MassEntityQuery.h"
#include "MassCommonFragments.h"
#include "MassExecutionContext.h"
#include "AIHelpers.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(MassReplicationTransformHandlers)
void FMassReplicationProcessorTransformHandlerBase::AddRequirements(FMassEntityQuery& InQuery)
{
InQuery.AddRequirement<FTransformFragment>(EMassFragmentAccess::ReadWrite);
}
void FMassReplicationProcessorTransformHandlerBase::CacheFragmentViews(FMassExecutionContext& ExecContext)
{
TransformList = ExecContext.GetMutableFragmentView<FTransformFragment>();
}
void FMassReplicationProcessorPositionYawHandler::AddEntity(const int32 EntityIdx, FReplicatedAgentPositionYawData& InOutReplicatedPositionYawData) const
{
const FTransformFragment& TransformFragment = TransformList[EntityIdx];
InOutReplicatedPositionYawData.SetPosition(TransformFragment.GetTransform().GetLocation());
const FRotator::FReal Yaw = FMath::DegreesToRadians(TransformFragment.GetTransform().Rotator().Yaw);
InOutReplicatedPositionYawData.SetYaw(static_cast<float>(Yaw));
}