31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
// 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<ILyraTeamAgentInterface> 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);
|
|
}
|
|
}
|