Space Plunder
Loading...
Searching...
No Matches
AIBPLib.h
Go to the documentation of this file.
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "GenericTeamAgentInterface.h"
7#include "Data/AIDataTypes.h"
8#include "Data/BaseData.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10#include "AIBPLib.generated.h"
11
12struct FAIStimulus;
13
14UCLASS()
15class AITOOLKIT_API UAIBPLib : public UBlueprintFunctionLibrary
16{
17 GENERATED_BODY()
18
19
20public:
21 // , meta=(ExpandEnumAsExecs="Stimulus"
22 UFUNCTION(BlueprintCallable, Category = "AI Tool Kit")
23 static EAISense GetSenseFromStimulus(const FAIStimulus& Stimulus);
24 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
25 static FString FactionToString(const EFactionType Faction);
26
27 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
28 static uint8 GetTeamIDFromFaction(const EFactionType Faction);
29 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
30 static EFactionType GetFactionFromTeamID(const uint8 TeamID);
31
32 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
33 static EAIActionType GetActionTypeFromTag(const FName& Tag);
34 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
35 static FName GetActionTagFromType(const EAIActionType ActionType);
36
37 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
38 static ERelationshipStatus GetRelationshipStatus(const float TrustLevel, const float HostilityLevel);
39
40
41 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit", meta=(WorldContext="WorldContextObject"))
42 static UDataTable* LoadFactionDataTableFromGameState(const UObject* WorldContextObject);
43
44 //- Get factions relations to All other factions //
45 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit", meta=(WorldContext="WorldContextObject"))
46 static FFactionRelationshipTotal GetFactionRelationshipTotal(const UObject* WorldContextObject, const EFactionType Faction, bool& bSuccess, UDataTable* DataTable = nullptr);
47
48 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit", meta=(WorldContext="WorldContextObject"))
49 static FFactionRelationship GetFactionRelationship(const UObject* WorldContextObject, const EFactionType Faction, const EFactionType TargetFaction, bool& bSuccess, UDataTable* DataTable = nullptr);
50
51 //- Am I (Faction) Hostile to Target Faction //
52 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit", meta=(WorldContext="WorldContextObject"))
53 static bool GetIsFactionHostile(const UObject* WorldContextObject, const EFactionType Faction, const EFactionType TargetFaction, bool& bSuccess, UDataTable* DataTable = nullptr);
54
56 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
57 static ETeamAttitude::Type GetAttitudeToActor(const FGenericTeamId& OwnerID, const AActor* TargetActor, bool& bSuccess);
58 static ETeamAttitude::Type GetAttitudeToActor(const FGenericTeamId& OwnerID, const AActor* TargetActor);
59
61 UFUNCTION(BlueprintPure, BlueprintCallable, Category="AI Tool Kit")
62 static ETeamAttitude::Type GetAttitudeActorToActor(const AActor* OwnerActor, const AActor* TargetActor, bool& bSuccess);
63
64
65 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", meta=(WorldContext="WorldContextObject"))
66 static void ReportTouchEvent(AActor* InTouchReceiver, AActor* InOtherActor, const FVector& EventLocation);
67
68 UFUNCTION(BlueprintCallable, Category="AI Tool Kit", meta=(WorldContext="WorldContextObject"))
69 static void ReportTeamEvent(AActor* InBroadcaster, AActor* InEnemy, const FVector& InLastKnowLocation, const float EventRange, const float PassedInfoAge, const float InStrength);
70};
ERelationshipStatus
Definition AIDataTypes.h:140
EAISense
Definition AIDataTypes.h:60
EFactionType
Definition AIDataTypes.h:103
EAIActionType
Definition BaseData.h:219
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
Definition AIBPLib.h:16
Definition AIDataTypes.h:279
Definition AIDataTypes.h:604