Files
utad-ui/Source/UTAD_UI/UTAD_UICharacter.h

78 lines
2.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "UTAD_UICharacter.generated.h"
UCLASS(Blueprintable)
class AUTAD_UICharacter : public ACharacter
{
GENERATED_BODY()
public:
AUTAD_UICharacter();
// Called every frame.
virtual void Tick(float DeltaSeconds) override;
// Called when the game starts
virtual void BeginPlay() override;
/** Returns TopDownCameraComponent subobject **/
FORCEINLINE class UCameraComponent* GetTopDownCameraComponent() const
{
return TopDownCameraComponent;
}
/** Returns CameraBoom subobject **/
FORCEINLINE class USpringArmComponent* GetCameraBoom() const
{
return CameraBoom;
}
/** Returns SkillTreeComponent subobject **/
UFUNCTION(BlueprintPure, Category = "Skill Tree")
class USkillTreeComponent* GetSkillTreeComponent() const
{
return SkillTreeComponent;
}
/** Returns CharacterStatsComponent subobject **/
UFUNCTION(BlueprintPure, Category = "Character Stats")
class UCharacterStatsComponent* GetStatsComponent() const
{
return CharacterStatsComponent;
}
// Level up function to grant skill points
UFUNCTION(BlueprintCallable, Category = "Character")
void LevelUp();
private:
/** Top down camera */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera,
meta = (AllowPrivateAccess = "true"))
class UCameraComponent* TopDownCameraComponent;
/** Camera boom positioning the camera above the character */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera,
meta = (AllowPrivateAccess = "true"))
class USpringArmComponent* CameraBoom;
/** Skill Tree Component for managing character skills */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Skill Tree",
meta = (AllowPrivateAccess = "true"))
class USkillTreeComponent* SkillTreeComponent;
/** Character Stats Component for managing health, damage, speed */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Character Stats",
meta = (AllowPrivateAccess = "true"))
class UCharacterStatsComponent* CharacterStatsComponent;
// Current character level
UPROPERTY(BlueprintReadOnly, Category = "Character",
meta = (AllowPrivateAccess = "true"))
int32 CharacterLevel;
};