GASATHON/Project/Source/Gasa/Character/GasaCharacter.h

53 lines
1.2 KiB
C
Raw Normal View History

2024-04-12 11:49:22 -07:00
#pragma once
2024-04-12 16:55:34 -07:00
#include "GasaCommon.h"
2024-04-12 11:49:22 -07:00
#include "GameFramework/Character.h"
#include "GasaCharacter.generated.h"
2024-04-12 19:05:09 -07:00
UENUM(BlueprintType)
enum class EHighlight : uint8
{
Disabled,
Enabled,
};
2024-04-12 11:49:22 -07:00
UCLASS(Abstract)
class GASA_API AGasaCharacter : public ACharacter
{
GENERATED_BODY()
public:
2024-04-12 16:55:34 -07:00
#pragma region Camera
UPROPERTY(EditAnywhere, Category="Camera")
UCameraComponent* Camera;
UPROPERTY(EditAnywhere, Category="Camera")
USpringArmComponent* CamSpringArm;
#pragma endregion Camera
2024-04-12 11:49:22 -07:00
#pragma region Combat
UPROPERTY(EditAnywhere, Category="Combat")
TObjectPtr<USkeletalMeshComponent> Weapon;
#pragma endregion Combat
// This will be implemented in the base until it needs to be lifted into an abstraction.
#pragma region Highlighting
2024-04-12 19:05:09 -07:00
EHighlight HighlightState;
void SetHighlight( EHighlight Desired );
UFUNCTION(BlueprintCallable)
2024-04-12 19:05:09 -07:00
FORCEINLINE void Highlight() { SetHighlight(EHighlight::Enabled); };
UFUNCTION(BlueprintCallable)
FORCEINLINE void Dehighlight() { SetHighlight(EHighlight::Disabled); };
#pragma endregion Highlighting
2024-04-12 11:49:22 -07:00
2024-04-12 13:30:01 -07:00
AGasaCharacter();
2024-04-12 11:49:22 -07:00
#pragma region Actor
void BeginPlay() override;
2024-04-12 19:05:09 -07:00
void Tick(float DeltaSeconds) override;
2024-04-12 11:49:22 -07:00
#pragma endregion Actor
};