78 lines
2.2 KiB
C++
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;
|
|
};
|