text: #pragma once
  #include "CoreMinimal.h"
  #include "Components/ActorComponent.h"
  #include "OxygenActiveDelegateDelegate.h"
  #include "OxygenSourceComponent.generated.h"
  
  class UNoOxygenMutator;
  
  UCLASS(Blueprintable, ClassGroup=Custom, meta=(BlueprintSpawnableComponent))
  class UOxygenSourceComponent : public UActorComponent {
      GENERATED_BODY()
  public:
  protected:
      UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
      float SourceRadius;
      
      UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
      float CenterOffset;
      
      UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
      FOxygenActiveDelegate OnOxygenActivationChanged;
      
      UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
      UNoOxygenMutator* Mutator;
      
  public:
      UOxygenSourceComponent();
  protected:
      UFUNCTION(BlueprintCallable)
      void OnTimerTick();
      
      UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
      void OnSourceActivated();
      
  };
  
  