diff --git a/OSC/Source/OSC/Private/Receive/OscReceiverActor.cpp b/OSC/Source/OSC/Private/Receive/OscReceiverActor.cpp index 558fdf7..8624f5c 100644 --- a/OSC/Source/OSC/Private/Receive/OscReceiverActor.cpp +++ b/OSC/Source/OSC/Private/Receive/OscReceiverActor.cpp @@ -10,6 +10,8 @@ AOscReceiverActor::AOscReceiverActor() if (instance && !HasAnyFlags(RF_ClassDefaultObject)) { instance->RegisterReceiver(&_listener); + + UE_LOG(LogOSC, Verbose, TEXT("Registering actor %s"), *GetName()); } } @@ -25,6 +27,8 @@ void AOscReceiverActor::BeginDestroy() if (instance && !HasAnyFlags(RF_ClassDefaultObject)) { instance->UnregisterReceiver(&_listener); + + UE_LOG(LogOSC, Verbose, TEXT("Unregistering actor %s"), *GetName()); } Super::BeginDestroy(); diff --git a/OSC/Source/OSC/Private/Receive/OscReceiverComponent.cpp b/OSC/Source/OSC/Private/Receive/OscReceiverComponent.cpp index 28b5a0c..ab4fbf7 100644 --- a/OSC/Source/OSC/Private/Receive/OscReceiverComponent.cpp +++ b/OSC/Source/OSC/Private/Receive/OscReceiverComponent.cpp @@ -18,20 +18,42 @@ UOscReceiverComponent::UOscReceiverComponent(FVTableHelper & helper) void UOscReceiverComponent::OnRegister() { Super::OnRegister(); - + auto instance = UOscDispatcher::Get(); - if (instance && !HasAnyFlags(RF_ClassDefaultObject)) + if (instance && + !HasAnyFlags(RF_ClassDefaultObject) && + (!GetOwner() || !GetOwner()->HasAnyFlags(RF_ClassDefaultObject))) { instance->RegisterReceiver(&_listener); + + if(GetOwner()) + { + UE_LOG(LogOSC, Verbose, TEXT("Registering component %s of %s"), *GetName(), *GetOwner()->GetName()); + } + else + { + UE_LOG(LogOSC, Verbose, TEXT("Registering component %s"), *GetName()); + } } } void UOscReceiverComponent::OnUnregister() { auto instance = UOscDispatcher::Get(); - if (instance && !HasAnyFlags(RF_ClassDefaultObject)) + if (instance && + !HasAnyFlags(RF_ClassDefaultObject) && + (!GetOwner() || !GetOwner()->HasAnyFlags(RF_ClassDefaultObject))) { instance->UnregisterReceiver(&_listener); + + if(GetOwner()) + { + UE_LOG(LogOSC, Verbose, TEXT("Unregistering component %s of %s"), *GetName(), *GetOwner()->GetName()); + } + else + { + UE_LOG(LogOSC, Verbose, TEXT("Unregistering component %s"), *GetName()); + } } Super::OnUnregister();