스탯이 이제 stats와 동기화됩니다.
This commit is contained in:
@@ -24,16 +24,9 @@ ADefaultPlayerCharacter::ADefaultPlayerCharacter()
|
||||
|
||||
Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera"));
|
||||
Camera->SetupAttachment(CameraSpringArm, USpringArmComponent::SocketName);
|
||||
|
||||
const UEnum* CharStateEnum = FindObject<UEnum>(ANY_PACKAGE, TEXT("EStats"), true);
|
||||
if (!CharStateEnum)
|
||||
{
|
||||
UE_LOG(LogTemp, Error, TEXT("EStats Missing"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
for (uint8 i = 0; i < (uint8)EStats::SIZE; i++)
|
||||
DefaultStats.Add(*CharStateEnum->GetNameByValue((uint8)i).ToString(), 0.0f);
|
||||
DefaultStats.Add((EStats)i, 0.0f);
|
||||
|
||||
for (uint8 i = 0; i < (uint8)CooldownType::SIZE; i++)
|
||||
CooldownDuration.Add((CooldownType)i, 0.0f);
|
||||
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
void NetMulticast_Skill7();
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stats")
|
||||
TMap<FName, float> DefaultStats;
|
||||
TMap<EStats, float> DefaultStats;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Stats")
|
||||
TMap<CooldownType, float> CooldownDuration;
|
||||
|
||||
@@ -20,12 +20,10 @@ void ADefaultPlayerController::BeginPlay()
|
||||
|
||||
ULocalPlayer* LocalPlayer = Cast<ULocalPlayer>(Player);
|
||||
if (!LocalPlayer) return;
|
||||
|
||||
UEnhancedInputLocalPlayerSubsystem* InputSystem = LocalPlayer->GetSubsystem<UEnhancedInputLocalPlayerSubsystem>();
|
||||
if (!InputSystem) return;
|
||||
ADefaultPlayerCharacter* ControlledPawn = GetPawn<ADefaultPlayerCharacter>();
|
||||
if (!ControlledPawn) return;
|
||||
ADefaultPlayerState* MyPlayerState = GetPlayerState<ADefaultPlayerState>();
|
||||
if (!MyPlayerState) return;
|
||||
|
||||
if (PlayerInputMapping.IsNull())
|
||||
{
|
||||
UE_LOG(LogTemp, Error, TEXT("AddMappingContext Failed"));
|
||||
@@ -34,7 +32,6 @@ void ADefaultPlayerController::BeginPlay()
|
||||
|
||||
InputSystem->AddMappingContext(PlayerInputMapping.LoadSynchronous(), 0);
|
||||
this->bShowMouseCursor = true;
|
||||
//MyPlayerState->InitPlayerStats(ControlledPawn->DefaultStats, ControlledPawn->CooldownDuration);
|
||||
}
|
||||
|
||||
void ADefaultPlayerController::OnPossess(APawn* aPawn)
|
||||
@@ -53,6 +50,20 @@ void ADefaultPlayerController::OnPossess(APawn* aPawn)
|
||||
SetViewTarget(PlayerCamera);
|
||||
|
||||
UE_LOG(LogTemp, Warning, TEXT("SetViewTarget Success : %s"), *GetPlayerState<ADefaultPlayerState>()->GetPlayerCamera()->GetName());
|
||||
|
||||
ADefaultPlayerCharacter* ControlledPawn = GetPawn<ADefaultPlayerCharacter>();
|
||||
if (!ControlledPawn) return;
|
||||
|
||||
ADefaultPlayerState* MyPlayerState = GetPlayerState<ADefaultPlayerState>();
|
||||
if (!MyPlayerState) return;
|
||||
|
||||
TArray<float> DefaultStatsValue;
|
||||
TArray<float> CooldownDurationValue;
|
||||
|
||||
ControlledPawn->DefaultStats.GenerateValueArray(DefaultStatsValue);
|
||||
ControlledPawn->CooldownDuration.GenerateValueArray(CooldownDurationValue);
|
||||
|
||||
MyPlayerState->InitPlayerStats(DefaultStatsValue, CooldownDurationValue);
|
||||
}
|
||||
|
||||
void ADefaultPlayerController::OnUnPossess()
|
||||
|
||||
@@ -31,6 +31,13 @@ void ADefaultPlayerState::InitPlayerStats_Implementation(const TArray<float>& St
|
||||
MaxStats.Append(StatsValue);
|
||||
Stats.Append(StatsValue);
|
||||
CooldownDuration.Append(CooldownDurationValue);
|
||||
MaxCooldownDuration.Append(CooldownDurationValue);
|
||||
|
||||
|
||||
for (float Value : StatsValue)
|
||||
{
|
||||
UE_LOG(LogTemp, Warning, TEXT("Values: %f"), Value);
|
||||
}
|
||||
}
|
||||
|
||||
void ADefaultPlayerState::NetMulticast_SetAttackType_Implementation(CooldownType Value)
|
||||
|
||||
Reference in New Issue
Block a user