// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "InputAction.h" #include "UObject/Object.h" #include "PlayerDataModel.generated.h" UENUM(BlueprintType) enum class EPlayerSkillState: uint8 { None = 0 UMETA(DisplayName = "None"), Start UMETA(DisplayName = "Start"), Aim UMETA(DisplayName = "Aim"), Activate UMETA(DispalyName = "Activate"), Cancel UMETA(DIsplayeName = "Cancel"), Release UMETA(DisplayName = "Release"), Finish UMETA(DisplayName = "Finish") }; USTRUCT(Blueprintable) struct FPlayerActionTypes { GENERATED_BODY() UPROPERTY(EditAnywhere, Category = Input) TObjectPtr AxisMoveAction; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr RunAction; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr MeleeAttackAction; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr SkillAction; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr InteractionAction; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr UseSlot1Action; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr UseSlot2Action; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr UseSlot3Action; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr MinimapAction; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr PauseAction; }; USTRUCT(Blueprintable) struct FPlayerChordedActionTypes { GENERATED_BODY() UPROPERTY(EditAnywhere, Category = Input) TObjectPtr CtrlAction; }; USTRUCT(Blueprintable) struct FPlayerDebugActionTypes { GENERATED_BODY() UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugToggleCheat; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugToggleInvincible; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugTogglePlayerDamage; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugTogglePlayerSpeed; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugToggleFrustum; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugToggleHitCollision; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugToggleTimeStop; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugToggleSlomo; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugCharacterSelect; UPROPERTY(EditAnywhere, Category = Input) TObjectPtr DebugToggleCam; }; USTRUCT(Blueprintable) struct FPlayerSimpleRatio { GENERATED_BODY() FPlayerSimpleRatio() : CurrentValue(0.f), MaxValue(0.f) { } UPROPERTY(EditAnywhere) float CurrentValue; UPROPERTY(EditAnywhere) float MaxValue; }; USTRUCT(Blueprintable) struct FPlayerEffectValue { GENERATED_BODY() FPlayerEffectValue() : RemainTime(0.f), MaxTime(0.f), EffectValue(0.f) { } UPROPERTY(EditAnywhere) float RemainTime; UPROPERTY(EditAnywhere) float MaxTime; UPROPERTY(EditAnywhere) float EffectValue; }; UCLASS() class PROJECTT_API UPlayerDataModel : public UObject { GENERATED_BODY() };