document.write("
#pragma once
#include "CoreMinimal.h"
#include "DandelionCharacter.h"
#include "DandelionPlayerCharacter.generated.h"
class USpringArmComponent;
class UCameraComponent;
class UDandelionAbilitySet;
class UInputActionGameplayAbilityMappings;
UCLASS()
class DANDELION_API ADandelionPlayerCharacter : public ADandelionCharacter
{
GENERATED_BODY()
#pragma region IAbilitySystemInterface
public:
virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override;
#pragma endregion
ADandelionPlayerCharacter();
virtual void PossessedBy(AController* NewController) override;
protected:
virtual void SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) override;
private:
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "AbilitySystem", meta = (AllowPrivateAccess = "true"))
TObjectPtr<UInputActionGameplayAbilityMappings> InputActionGameplayAbilityMappings;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "AbilitySystem", meta = (AllowPrivateAccess = "true"))
TSet<TObjectPtr<UDandelionAbilitySet>> DefaultGameplayAbilitySets;
void InitAbilitySystem();
void OnAbilityInputTriggered(int32 InputID);
void OnAbilityInputCompleted(int32 InputID);
#pragma region Simple Getters
public:
FORCEINLINE UInputActionGameplayAbilityMappings* GetInputActionGameplayAbilityMappings() const
{
return InputActionGameplayAbilityMappings;
}
FORCEINLINE UCameraComponent* GetTopDownCameraComponent() const { return TopDownCameraComponent; }
FORCEINLINE USpringArmComponent* GetCameraBoom() const { return CameraBoom; }
#pragma endregion
private:
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
TObjectPtr<UCameraComponent> TopDownCameraComponent;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true"))
TObjectPtr<USpringArmComponent> CameraBoom;
void SetupCameraBoom();
void SetupCamera();
};
DandelionPlayerCharacter.h - Snippet hosted by \"Cacher\"
");