Advertisement
Unavi

Unreal Reactive Event

Apr 16th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "CoreMinimal.h"
  4. #include "UObject/NoExportTypes.h"
  5. #include "ReactiveEvent.generated.h"
  6.  
  7. DECLARE_DYNAMIC_DELEGATE(FReactiveEventDelegate);
  8. DECLARE_DYNAMIC_MULTICAST_DELEGATE(FReactiveEventDelegateMulti);
  9.  
  10. UCLASS(Blueprintable, BlueprintType)
  11.     class PROJECTNAME_API UReactiveEvent : public UObject
  12. {
  13.     GENERATED_BODY()
  14. public:
  15.     FReactiveEventDelegateMulti OnEventInvoked;
  16.  
  17.     bool bWasCalled;
  18.  
  19.  
  20.     UFUNCTION(BlueprintCallable)
  21.     void Subscribe(const FReactiveEventDelegate& callback)
  22.     {
  23.         OnEventInvoked.Add(callback);
  24.         if(bWasCalled)
  25.         {
  26.             callback.Execute();
  27.         }
  28.     }
  29.  
  30.     UFUNCTION(BlueprintCallable)
  31.     void OnNext()
  32.     {
  33.         bWasCalled = true;
  34.         OnEventInvoked.Broadcast();
  35.     }
  36. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement