From 6cfd3f4f6c78d6b769cf749657142e6ffba0767a Mon Sep 17 00:00:00 2001
From: David Gilbert <david.gilbert@rwth-aachen.de>
Date: Thu, 11 Jul 2024 12:16:56 +0200
Subject: [PATCH] pull changes forward

---
 .../Public/Events/DisplayClusterEventWrapper.h     | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
index f7df285..da694b6 100644
--- a/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
+++ b/Source/RWTHVRCluster/Public/Events/DisplayClusterEventWrapper.h
@@ -24,9 +24,10 @@ public:
 
 	void Attach(ObjectType* NewObject)
 	{
+
 		checkf(Object == nullptr, TEXT("The event is already attached."));
 		Object = NewObject;
-		ObjectId = Object->GetUniqueID();
+		ObjectName = Object->GetFullName();
 
 		EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode();
 		if (OperationMode == EDisplayClusterOperationMode::Cluster)
@@ -45,10 +46,10 @@ public:
 
 					FMemoryReader MemoryReader(Event.EventData);
 
-					uint32 EventObjectId;
+					FString EventObjectName;
 					// This reads the value!
-					MemoryReader << EventObjectId;
-					if (EventObjectId != ObjectId)
+					MemoryReader << EventObjectName;
+					if (EventObjectName != ObjectName)
 					{
 						// Event does not belong to this object.
 						return;
@@ -100,6 +101,7 @@ public:
 		EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode();
 		if (OperationMode != EDisplayClusterOperationMode::Cluster)
 		{
+			// Cluster event can be bypassed and function directly called
 			(Object->*MemberFunction)(Forward<ArgTypes>(Arguments)...);
 		}
 		else
@@ -112,7 +114,7 @@ public:
 			ClusterEvent.bShouldDiscardOnRepeat = false;
 
 			FMemoryWriter MemoryWriter(ClusterEvent.EventData);
-			MemoryWriter << ObjectId;
+			MemoryWriter << const_cast<FString&>(ObjectName);
 			MemoryWriter << const_cast<FString&>(MethodName);
 			SerializeParameters(&MemoryWriter, Forward<ArgTypes>(Arguments)...);
 
@@ -122,7 +124,7 @@ public:
 
 private:
 	const FString MethodName;
-	uint32 ObjectId;
+	FString ObjectName;
 	ObjectType* Object = nullptr;
 	FOnClusterEventBinaryListener ClusterEventListenerDelegate;
 };
-- 
GitLab