Files
BusyRabbit/Source/BusyRabbit/Public/Level/Actor/BusyPawnBase.h
2025-10-08 02:52:32 +08:00

68 lines
1.9 KiB
C++

#pragma once
#include "LuaPawn.h"
#include "Level/Actor/Components/BusyPawnMovement.h"
#include "Level/Actor/Components/BusyAbilitySystemComponent.h"
#include "BusyPawnBase.generated.h"
class USphereComponent;
class USpineBoneFollowerComponent;
class USpineSkeletonRendererComponent;
class USpineSkeletonAnimationComponent;
class UBusyPawnMovementComponent;
UCLASS()
class ABusyPawnBase : public ALuaPawn, public IBusyMovable
{
GENERATED_BODY()
public:
ABusyPawnBase();
virtual void BeginPlay()override;
virtual float GetSpeed_Implementation()const override;
protected:
UPROPERTY(EditDefaultsOnly)
TObjectPtr<USceneComponent> RootScene; //场景根组件
/*-----------------------------碰撞相关组件-----------------------------*/
UPROPERTY(EditDefaultsOnly)
TObjectPtr<USphereComponent> SphereComponent;
/*-------------------------------------------------------------------*/
/*----------------------------spine相关组件----------------------------*/
UPROPERTY(EditDefaultsOnly)
TObjectPtr<USceneComponent> SpineRoot;
UPROPERTY(EditDefaultsOnly)
TObjectPtr<USpineSkeletonRendererComponent> SpineRenderComponent;
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TObjectPtr<USpineSkeletonAnimationComponent> SpineAnimationComponent;
/*-------------------------------------------------------------------*/
/*-----------------------------GAS相关--------------------------------*/
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TObjectPtr<UBusyAbilitySystemComponent> AbilitySystemComponent;
/*-------------------------------------------------------------------*/
public:
/*-------------------------------移动组件------------------------------*/
UPROPERTY(EditAnywhere, BlueprintReadOnly)
TObjectPtr<UBusyPawnMovement> MovementComponent;
/*-------------------------------------------------------------------*/
protected:
UPROPERTY(EditAnywhere)
FString DefaultSkinName;
UPROPERTY(EditAnywhere)
FString DefaultAnimationName;
};