Space Plunder
Loading...
Searching...
No Matches
CharacterInterface.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 "Data/AIDataTypes.h"
7#include "Data/BaseData.h"
8#include "UObject/Interface.h"
9#include "CharacterInterface.generated.h"
10
11
12UINTERFACE(MinimalAPI, meta = (CannotImplementInterfaceInBlueprint))
13class UCharacterInterface : public UInterface
14{
15 GENERATED_BODY()
16
17};
18
19class AITOOLKIT_API ICharacterInterface
20{
21 GENERATED_BODY()
22
23public:
24
25 UFUNCTION(BlueprintCallable, Category = "Character")
26 virtual ECharacterType GetCharacterType() const = 0;
27 UFUNCTION(BlueprintCallable, Category = "Character")
28 virtual EFactionType GetCharacterFaction() const = 0;
29
30 //@TODO Have Enum for Vehicle Mode
31 UFUNCTION(BlueprintCallable, Category = "Character")
32 virtual void SetCharacterVehicleMode(const EVehicleMode Mode) = 0;
33
34
35 UFUNCTION(BlueprintCallable, Category = "Character")
36 virtual bool GetIsDead() const = 0;
37
38 // UFUNCTION(BlueprintCallable, Category = "Character")
39 // virtual USkeletalMeshComponent* GetCharacterMainMesh() const = 0;
40 //@ TODO Temp Secondary Mesh for Synty
41 UFUNCTION(BlueprintCallable, Category = "Character")
42 virtual USkeletalMeshComponent* GetCharacterSecondaryMesh() const {return nullptr;};
43
44
45 UFUNCTION(BlueprintCallable, Category = "Character")
46 virtual void StartThreatIndication(AActor* PawnThreat) {UE_LOG(LogTemp, Warning, TEXT("Start Threat Not Impletemented in Actor"));};
47 UFUNCTION(BlueprintCallable, Category = "Character")
48 virtual void UpdateThreatIndication(const FVector& Location, const float DetectionAmount) {UE_LOG(LogTemp, Warning, TEXT("Update Threat Not Impletemented in Actor"));};
49 UFUNCTION(BlueprintCallable, Category = "Character")
50 virtual void StopThreatIndication() {UE_LOG(LogTemp, Warning, TEXT("Stop Threat Not Impletemented in Actor"));};
51
52 // UFUNCTION(BlueprintCallable, Category = "Character")
53 // virtual void GetCharacterCameraTrace(FVector& Location, FRotator& Rotation) = 0;
54
55 // FVector GetThrowForce(const float Multiplier) const
56 // UFUNCTION(BlueprintCallable, Category = "Custom ALS")
57 // virtual FCharacterTraits& GetCharacterTraits();
58
59};
ECharacterType
Definition AIDataTypes.h:73
EFactionType
Definition AIDataTypes.h:103
EVehicleMode
Definition BaseData.h:124
Definition CharacterInterface.h:20
Definition CharacterInterface.h:14