5#include "CoreMinimal.h"
9#include "CompanionComponent.generated.h"
12UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent) )
18 UCompanionComponent();
20 virtual
void TickComponent(
float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
22 UFUNCTION(BlueprintCallable, Category="Companions")
23 void SetupBlackboard();
26 UFUNCTION(BlueprintCallable, Category="Companions")
27 virtual
void SetMaster(AActor*
Master);
28 UFUNCTION(BlueprintCallable, Category="Companions")
30 UFUNCTION(BlueprintCallable, Category="Companions")
31 virtual
void Pickup(AActor* TargetActor);
32 UFUNCTION(BlueprintCallable, Category="Companions")
33 virtual
void Interact(AActor* TargetActor);
34 UFUNCTION(BlueprintCallable, Category="Companions")
35 virtual
void StartCombat(AActor* TargetEnemy);
36 UFUNCTION(BlueprintCallable, Category="Companions")
37 virtual
void Wait(const FVector& TargetLocation);
38 UFUNCTION(BlueprintCallable, Category="Companions")
39 virtual
void GrabObject();
45 UFUNCTION(BlueprintCallable, Category="Companions")
46 virtual
void ObjectInteractedWith(const
bool bSuccess);
49 UFUNCTION(BlueprintCallable, Category="Companions")
50 virtual
bool GetIsReadyToCommand()
const {
return bReadyToCommand;};
56 virtual void BeginPlay()
override;
59 UFUNCTION(BlueprintCallable, Category=
"Companions")
63 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Companions")
64 UAnimMontage* AttackAnimMontage =
nullptr;
65 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Companions")
66 UAnimMontage* GrabAnimMontage =
nullptr;
68 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category="Companions")
71 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category="Companions")
72 bool bReadyToCommand = false;
74 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category="Companion|
General")
75 bool bHasMaster = false;
76 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Companion|
General")
77 bool bUseGrabAnimation = false;
78 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Companion|
General")
79 bool bUseAttackAnimation = false;
82 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Companion|
General")
83 float FollowDistance = 20.0f;
88 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category="Companion|Status")
89 FName GrabObjectSocketName;
95 UPROPERTY(VisibleAnywhere, Category="Companion|Status")
96 UBlackboardComponent* BlackboardComponent =
nullptr;
97 UPROPERTY(VisibleAnywhere, Category="Companion|Status")
98 AActor* ObjectToGrab =
nullptr;
99 UPROPERTY(VisibleAnywhere, Category="Companion|Status")
100 AActor* CurrentTargetActor =
nullptr;
101 UPROPERTY(VisibleAnywhere, Category="Companion|Status")
102 AActor* MasterActor =
nullptr;
105 FTimerHandle GrabTimerHandle;
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
ECompanionState
Definition CompanionDataTypes.h:15
Represents a character component that can be added to an actor.