Skip to content
Snippets Groups Projects
Commit 6cfd3f4f authored by David Gilbert's avatar David Gilbert :bug:
Browse files

pull changes forward

parent e8ae1108
No related branches found
No related tags found
1 merge request!2pull changes forward
...@@ -24,9 +24,10 @@ public: ...@@ -24,9 +24,10 @@ public:
void Attach(ObjectType* NewObject) void Attach(ObjectType* NewObject)
{ {
checkf(Object == nullptr, TEXT("The event is already attached.")); checkf(Object == nullptr, TEXT("The event is already attached."));
Object = NewObject; Object = NewObject;
ObjectId = Object->GetUniqueID(); ObjectName = Object->GetFullName();
EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode(); EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode();
if (OperationMode == EDisplayClusterOperationMode::Cluster) if (OperationMode == EDisplayClusterOperationMode::Cluster)
...@@ -45,10 +46,10 @@ public: ...@@ -45,10 +46,10 @@ public:
FMemoryReader MemoryReader(Event.EventData); FMemoryReader MemoryReader(Event.EventData);
uint32 EventObjectId; FString EventObjectName;
// This reads the value! // This reads the value!
MemoryReader << EventObjectId; MemoryReader << EventObjectName;
if (EventObjectId != ObjectId) if (EventObjectName != ObjectName)
{ {
// Event does not belong to this object. // Event does not belong to this object.
return; return;
...@@ -100,6 +101,7 @@ public: ...@@ -100,6 +101,7 @@ public:
EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode(); EDisplayClusterOperationMode OperationMode = IDisplayCluster::Get().GetOperationMode();
if (OperationMode != EDisplayClusterOperationMode::Cluster) if (OperationMode != EDisplayClusterOperationMode::Cluster)
{ {
// Cluster event can be bypassed and function directly called
(Object->*MemberFunction)(Forward<ArgTypes>(Arguments)...); (Object->*MemberFunction)(Forward<ArgTypes>(Arguments)...);
} }
else else
...@@ -112,7 +114,7 @@ public: ...@@ -112,7 +114,7 @@ public:
ClusterEvent.bShouldDiscardOnRepeat = false; ClusterEvent.bShouldDiscardOnRepeat = false;
FMemoryWriter MemoryWriter(ClusterEvent.EventData); FMemoryWriter MemoryWriter(ClusterEvent.EventData);
MemoryWriter << ObjectId; MemoryWriter << const_cast<FString&>(ObjectName);
MemoryWriter << const_cast<FString&>(MethodName); MemoryWriter << const_cast<FString&>(MethodName);
SerializeParameters(&MemoryWriter, Forward<ArgTypes>(Arguments)...); SerializeParameters(&MemoryWriter, Forward<ArgTypes>(Arguments)...);
...@@ -122,7 +124,7 @@ public: ...@@ -122,7 +124,7 @@ public:
private: private:
const FString MethodName; const FString MethodName;
uint32 ObjectId; FString ObjectName;
ObjectType* Object = nullptr; ObjectType* Object = nullptr;
FOnClusterEventBinaryListener ClusterEventListenerDelegate; FOnClusterEventBinaryListener ClusterEventListenerDelegate;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment