46 lines
1.4 KiB
C++
Executable file
46 lines
1.4 KiB
C++
Executable file
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "AttachChangeSigDelegate.h"
|
|
#include "FSDPhysicsActor.h"
|
|
#include "OnCarriableDepositedDelegate.h"
|
|
#include "Throwable.h"
|
|
#include "CarriableItem.generated.h"
|
|
|
|
class AActor;
|
|
class APlayerCharacter;
|
|
|
|
UCLASS(Abstract, Blueprintable)
|
|
class ACarriableItem : public AFSDPhysicsActor, public IThrowable {
|
|
GENERATED_BODY()
|
|
public:
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FAttachChangeSig OnAttachedChangeDelegate;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnCarriableDeposited OnCarriableDeposited;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
bool StrictDeposit;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
bool IsDopositable;
|
|
|
|
public:
|
|
ACarriableItem();
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void Throw(FVector force);
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void Receive_OnDeposited(APlayerCharacter* fromPlayer, AActor* toActor);
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void OnAttachChanged(bool Attached);
|
|
|
|
|
|
// Fix for true pure virtual functions not being implemented
|
|
};
|
|
|