From 90b057f859c2d2eba0fcc3323e40694f4bf27e45 Mon Sep 17 00:00:00 2001 From: monsieurgustav Date: Tue, 7 Oct 2014 22:43:24 +0200 Subject: [PATCH] add receiver actor --- Examples/LocationReceiver_Actor.uasset | Bin 0 -> 22719 bytes .../OSC/Private/Receive/OscReceiverActor.cpp | 25 +++++++++++++ .../OSC/Private/Receive/OscReceiverActor.h | 33 ++++++++++++++++++ VERSION | 2 ++ 4 files changed, 60 insertions(+) create mode 100644 Examples/LocationReceiver_Actor.uasset create mode 100644 OSC/Source/OSC/Private/Receive/OscReceiverActor.cpp create mode 100644 OSC/Source/OSC/Private/Receive/OscReceiverActor.h create mode 100644 VERSION diff --git a/Examples/LocationReceiver_Actor.uasset b/Examples/LocationReceiver_Actor.uasset new file mode 100644 index 0000000000000000000000000000000000000000..9d402baf6cbadb9e128d374cfa1b3ad58ac459ac GIT binary patch literal 22719 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 gI3j7~ja01Kh5D|d01pgMRegisterReceiver(this); + } +} + +void AOscReceiverActor::BeginDestroy() +{ + auto instance = UOscDispatcher::Get(); + if (instance && !HasAnyFlags(RF_ClassDefaultObject)) + { + instance->UnregisterReceiver(this); + } + + Super::BeginDestroy(); +} diff --git a/OSC/Source/OSC/Private/Receive/OscReceiverActor.h b/OSC/Source/OSC/Private/Receive/OscReceiverActor.h new file mode 100644 index 0000000..4981d1c --- /dev/null +++ b/OSC/Source/OSC/Private/Receive/OscReceiverActor.h @@ -0,0 +1,33 @@ +#pragma once + +#include "GameFramework/Actor.h" +#include "OscReceiverInterface.h" +#include "OscDataStruct.h" +#include "OscReceiverActor.generated.h" + + +UCLASS() +class AOscReceiverActor : public AActor, public IOscReceiverInterface +{ + GENERATED_UCLASS_BODY() + + UPROPERTY(EditAnywhere, Category=OSC) + FString AddressFilter; + + UFUNCTION(BlueprintImplementableEvent, Category=OSC) + void OnOscReceived(const FName & Address, const FOscDataStruct & Data); + +protected: + + virtual void BeginDestroy() override; + + virtual const FString & GetAddressFilter() override + { + return AddressFilter; + } + + virtual void SendEvent(const FName & Address, const FOscDataStruct & Data) override + { + OnOscReceived(Address, Data); + } +}; diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..8b3b9c2 --- /dev/null +++ b/VERSION @@ -0,0 +1,2 @@ +0.2: add receiver actor class +0.1: receiver component, send function, float integer boolean and string parameters