Skip to content
Snippets Groups Projects

pull changes forward

Merged David Gilbert requested to merge dev/5.3 into dev/5.4
1 file
+ 8
6
Compare changes
  • Side-by-side
  • Inline
@@ -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;
};
};
Loading