// Copyright Epic Games, Inc. All Rights Reserved. #include "Teams/LyraTeamAgentInterface.h" #include "Containers/UnrealString.h" #include "HAL/Platform.h" #include "Logging/LogCategory.h" #include "Logging/LogMacros.h" #include "LyraLogChannels.h" #include "Trace/Detail/Channel.h" #include "UObject/UObjectBaseUtility.h" ULyraTeamAgentInterface::ULyraTeamAgentInterface(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { } void ILyraTeamAgentInterface::ConditionalBroadcastTeamChanged(TScriptInterface This, FGenericTeamId OldTeamID, FGenericTeamId NewTeamID) { if (OldTeamID != NewTeamID) { const int32 OldTeamIndex = GenericTeamIdToInteger(OldTeamID); const int32 NewTeamIndex = GenericTeamIdToInteger(NewTeamID); UObject* ThisObj = This.GetObject(); UE_LOG(LogLyraTeams, Verbose, TEXT("[%s] %s assigned team %d"), *GetClientServerContextString(ThisObj), *GetPathNameSafe(ThisObj), NewTeamIndex); This.GetInterface()->GetTeamChangedDelegateChecked().Broadcast(ThisObj, OldTeamIndex, NewTeamIndex); } }