From b4f8296692c68ab4b98827cf1d36762d262068ef Mon Sep 17 00:00:00 2001 From: Mor Ohana Date: Sat, 13 Dec 2025 11:49:48 +0200 Subject: [PATCH 1/2] Fix OnComponentNotify node not using identity tag match type --- .../Actor/FlowNode_OnNotifyFromActor.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp b/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp index b6f073671..d69c0d209 100644 --- a/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp +++ b/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp @@ -35,7 +35,24 @@ void UFlowNode_OnNotifyFromActor::ForgetActor(TWeakObjectPtr Actor, TWea void UFlowNode_OnNotifyFromActor::OnNotifyFromComponent(UFlowComponent* Component, const FGameplayTag& Tag) { - if (Component->IdentityTags.HasAnyExact(IdentityTags) && (!NotifyTags.IsValid() || NotifyTags.HasTagExact(Tag))) + bool IdentityMatches = false; + + switch (IdentityMatchType) { + case EFlowTagContainerMatchType::HasAny: + IdentityMatches = Component->IdentityTags.HasAny(IdentityTags); + break; + case EFlowTagContainerMatchType::HasAnyExact: + IdentityMatches = Component->IdentityTags.HasAnyExact(IdentityTags); + break; + case EFlowTagContainerMatchType::HasAll: + IdentityMatches = Component->IdentityTags.HasAll(IdentityTags); + break; + case EFlowTagContainerMatchType::HasAllExact: + IdentityMatches = Component->IdentityTags.HasAllExact(IdentityTags); + break; + } + + if (IdentityMatches && (!NotifyTags.IsValid() || NotifyTags.HasTagExact(Tag))) { OnEventReceived(); } From 9413914621ac1e88d968b176db6c94a6af5c6b4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysiek=20Justy=C5=84ski?= Date: Sun, 18 Jan 2026 16:04:44 +0100 Subject: [PATCH 2/2] formatting tweak --- .../Actor/FlowNode_OnNotifyFromActor.cpp | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp b/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp index d69c0d209..c34d00118 100644 --- a/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp +++ b/Source/Flow/Private/Nodes/Actor/FlowNode_OnNotifyFromActor.cpp @@ -37,19 +37,20 @@ void UFlowNode_OnNotifyFromActor::OnNotifyFromComponent(UFlowComponent* Componen { bool IdentityMatches = false; - switch (IdentityMatchType) { - case EFlowTagContainerMatchType::HasAny: - IdentityMatches = Component->IdentityTags.HasAny(IdentityTags); - break; - case EFlowTagContainerMatchType::HasAnyExact: - IdentityMatches = Component->IdentityTags.HasAnyExact(IdentityTags); - break; - case EFlowTagContainerMatchType::HasAll: - IdentityMatches = Component->IdentityTags.HasAll(IdentityTags); - break; - case EFlowTagContainerMatchType::HasAllExact: - IdentityMatches = Component->IdentityTags.HasAllExact(IdentityTags); - break; + switch (IdentityMatchType) + { + case EFlowTagContainerMatchType::HasAny: + IdentityMatches = Component->IdentityTags.HasAny(IdentityTags); + break; + case EFlowTagContainerMatchType::HasAnyExact: + IdentityMatches = Component->IdentityTags.HasAnyExact(IdentityTags); + break; + case EFlowTagContainerMatchType::HasAll: + IdentityMatches = Component->IdentityTags.HasAll(IdentityTags); + break; + case EFlowTagContainerMatchType::HasAllExact: + IdentityMatches = Component->IdentityTags.HasAllExact(IdentityTags); + break; } if (IdentityMatches && (!NotifyTags.IsValid() || NotifyTags.HasTagExact(Tag)))