第一次提交
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "AbilitySystemInterface.h"
|
||||
#include "GameplayTagAssetInterface.h"
|
||||
#include "GameFramework/Character.h"
|
||||
#include "GGA_Character.generated.h"
|
||||
|
||||
|
||||
/**
|
||||
* @brief A character with ability system.
|
||||
*/
|
||||
UCLASS()
|
||||
class GENERICGAMEPLAYABILITIES_API AGGA_Character : public ACharacter, public IAbilitySystemInterface, public IGameplayTagAssetInterface
|
||||
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
// Sets default values for this character's properties
|
||||
AGGA_Character(const FObjectInitializer& ObjectInitializer);
|
||||
|
||||
virtual void PreInitializeComponents() override;
|
||||
virtual void BeginPlay() override;
|
||||
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
|
||||
|
||||
#pragma region Pawn
|
||||
|
||||
protected:
|
||||
virtual void OnRep_Controller() override;
|
||||
virtual void OnRep_PlayerState() override;
|
||||
|
||||
/**
|
||||
* @brief Called when controller replicated to client.
|
||||
*/
|
||||
UFUNCTION(BlueprintImplementableEvent, Category=Character, meta=(DisplayName="Receive Player Controller"))
|
||||
void ReceivePlayerController();
|
||||
|
||||
/**
|
||||
* @brief Called when player state replicated to client.
|
||||
*/
|
||||
UFUNCTION(BlueprintImplementableEvent, Category=Character, meta=(DisplayName="Receive Player State"))
|
||||
void ReceivePlayerState();
|
||||
|
||||
#pragma endregion Pawn
|
||||
|
||||
|
||||
#pragma region AbilitySystem
|
||||
|
||||
public:
|
||||
virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override;
|
||||
|
||||
protected:
|
||||
UFUNCTION(BlueprintImplementableEvent)
|
||||
UAbilitySystemComponent* CustomGetAbilitySystemComponent() const;
|
||||
|
||||
private:
|
||||
#pragma endregion AbilitySystem
|
||||
|
||||
public:
|
||||
virtual void GetOwnedGameplayTags(FGameplayTagContainer& TagContainer) const override;
|
||||
|
||||
|
||||
// Called to bind functionality to input
|
||||
virtual void SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) override;
|
||||
};
|
||||
Reference in New Issue
Block a user