E4-Unreal / test-simple-game-framework

simpleFramework for UE 5.1.0
MIT License
0 stars 1 forks source link

EquipmentComponent 상태 패턴 #25

Open Eu4ng opened 1 year ago

Eu4ng commented 1 year ago

EquipmentComponent.h

class THIRDPERSON_API UEquipmentComponent : public UActorComponent
{
        ......

        // For EquipmentState
    friend class UEquipmentState;
    friend class UMainState;
    friend class USubState;

    // SelectEquipment를 위한 상태 패턴
    UPROPERTY()
    UEquipmentState* EquipmentState;

    // 각 상태 별로 단 한개의 인스턴스가 존재, 초기화 이후 인스턴스 수정을 막기 위해 실제 사용은 const 포인터 이용
    UPROPERTY()
    UMainState* MainStateInstance;
    UPROPERTY()
    UMainState* const MainState = MainStateInstance;

    UPROPERTY()
        USubState* SubStateInstance;
    UPROPERTY()
    USubState* const SubState = SubStateInstance;

        .....
}
// EquipmentState

UPROPERTY()
UEquipmentComponent* EquipmentComponent;

EquipmentComponent에서 EquipmentState를 사용하는 경우

EquipmentState