From d7738e00a67581802a0107f68d343700b5ca4fc8 Mon Sep 17 00:00:00 2001 From: m4xxx1m Date: Fri, 5 May 2023 18:42:35 +0400 Subject: [PATCH] fixed attack problem --- Content/BattleField/BP_BattleUI.uasset | Bin 149622 -> 142885 bytes Content/BattleField/BattleFieldMap.umap | Bin 639646 -> 639646 bytes Source/TurnBasedTutorial/MyGameState.cpp | 16 ++--- Source/TurnBasedTutorial/MyGameState.h | 2 +- .../TurnBasedTutorial/MyPlayerController.cpp | 29 ++++---- Source/TurnBasedTutorial/MyPlayerController.h | 7 +- Source/TurnBasedTutorial/MyPlayerState.cpp | 62 ++++++++++-------- Source/TurnBasedTutorial/MyPlayerState.h | 10 +-- Source/TurnBasedTutorial/Trooper.cpp | 3 +- 9 files changed, 72 insertions(+), 57 deletions(-) diff --git a/Content/BattleField/BP_BattleUI.uasset b/Content/BattleField/BP_BattleUI.uasset index 1925d52d0cf807c17443501d1ac5b976155cc714..217c1f1b05beb56d5b2e1ac2756d941d24f9d752 100644 GIT binary patch literal 142885 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%0D2tX+6X`00>YpRqq^MqE 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 WlnW^1=FC}?FQKfbWbeWrYyTgK3wFx@ literal 149622 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 diff --git a/Source/TurnBasedTutorial/MyGameState.cpp b/Source/TurnBasedTutorial/MyGameState.cpp index 1b84b68..7d2409c 100644 --- a/Source/TurnBasedTutorial/MyGameState.cpp +++ b/Source/TurnBasedTutorial/MyGameState.cpp @@ -24,17 +24,15 @@ void AMyGameState::StartGame() const { PlayerInTurn()->StartTurn(); } -void AMyGameState::CycleTurns_Implementation(uint8 CurrentPlayerIndex) { - if (CurrentPlayerTurn == CurrentPlayerIndex) { - PlayerInTurn()->EndTurn(); - for (const auto Trooper : Troopers) { - if (Trooper != nullptr) { - Trooper->ResetActionPoints(); - } +void AMyGameState::CycleTurns_Implementation() { + PlayerInTurn()->EndTurn(); + for (const auto Trooper : Troopers) { + if (Trooper != nullptr) { + Trooper->ResetActionPoints(); } - CurrentPlayerTurn = !CurrentPlayerTurn; - PlayerInTurn()->StartTurn(); } + CurrentPlayerTurn = !CurrentPlayerTurn; + PlayerInTurn()->StartTurn(); } // void AMyGameState::CycleTurns(uint8 CurrentPlayerIndex) { diff --git a/Source/TurnBasedTutorial/MyGameState.h b/Source/TurnBasedTutorial/MyGameState.h index dafd47a..1c71b0f 100644 --- a/Source/TurnBasedTutorial/MyGameState.h +++ b/Source/TurnBasedTutorial/MyGameState.h @@ -24,7 +24,7 @@ public: void StartGame() const; UFUNCTION(BlueprintCallable, Server, Reliable) - void CycleTurns(uint8 CurrentPlayerIndex); + void CycleTurns(); UFUNCTION(BlueprintPure) AMyPlayerState *PlayerInTurn() const; diff --git a/Source/TurnBasedTutorial/MyPlayerController.cpp b/Source/TurnBasedTutorial/MyPlayerController.cpp index e89f66b..910726b 100644 --- a/Source/TurnBasedTutorial/MyPlayerController.cpp +++ b/Source/TurnBasedTutorial/MyPlayerController.cpp @@ -50,6 +50,13 @@ auto AMyPlayerController::GetMyGameMode() const { } +void AMyPlayerController::EndTurn() { + // if (GetMyPlayerState()->IsMyTurn()) { + // GetMyGameState()->CycleTurns(); + // } + GetMyPlayerState()->CycleTurns(); +} + // void AMyPlayerController::EndTurn_Implementation() { // GetMyPlayerState()->EndTurn(); // } @@ -125,17 +132,17 @@ void AMyPlayerController::SetPlayerIndex(uint8 NewPlayerIndex) { // GetMyPlayerState()->PlayerIndex = NewPlayerIndex; } -float AMyPlayerController::SetCurrentActionAndReturnRadius(int action) { - return GetMyPlayerState()->SetCurrentActionAndReturnRadius(action); - - // CurrentAction = action; - // UE_LOG(LogTemp, Warning, TEXT("SetCurrentAction: %d on Player Controller " - // "with index %d"), CurrentAction, PlayerIndex); - // if (SelectedTrooper) { - // return SelectedTrooper->GetActionRadius(CurrentAction); - // } - // return 0.0f; -} +// float AMyPlayerController::SetCurrentActionAndReturnRadius(int action) { +// return GetMyPlayerState()->SetCurrentActionAndReturnRadius(action); +// +// // CurrentAction = action; +// // UE_LOG(LogTemp, Warning, TEXT("SetCurrentAction: %d on Player Controller " +// // "with index %d"), CurrentAction, PlayerIndex); +// // if (SelectedTrooper) { +// // return SelectedTrooper->GetActionRadius(CurrentAction); +// // } +// // return 0.0f; +// } void AMyPlayerController::SetEnemySelection_Implementation( diff --git a/Source/TurnBasedTutorial/MyPlayerController.h b/Source/TurnBasedTutorial/MyPlayerController.h index f04607c..f341a53 100644 --- a/Source/TurnBasedTutorial/MyPlayerController.h +++ b/Source/TurnBasedTutorial/MyPlayerController.h @@ -19,6 +19,9 @@ public: AMyPlayerController(); + UFUNCTION(BlueprintCallable) + void EndTurn(); + // UFUNCTION(Client, Reliable) // void StartTurn(); @@ -37,8 +40,8 @@ public: UFUNCTION() void SetPlayerIndex(uint8 NewPlayerIndex); - UFUNCTION(BlueprintCallable) - float SetCurrentActionAndReturnRadius(int action); + // UFUNCTION(BlueprintCallable) + // float SetCurrentActionAndReturnRadius(int action); UFUNCTION(Client, Reliable) void SetEnemySelection(const TArray &Troopers) const; diff --git a/Source/TurnBasedTutorial/MyPlayerState.cpp b/Source/TurnBasedTutorial/MyPlayerState.cpp index cb29a24..ddfbcc0 100644 --- a/Source/TurnBasedTutorial/MyPlayerState.cpp +++ b/Source/TurnBasedTutorial/MyPlayerState.cpp @@ -19,6 +19,37 @@ void AMyPlayerState::SetPlayerIndex(uint8 NewPlayerIndex) { PlayerIndex = NewPlayerIndex; } +void AMyPlayerState::MoveTrooper_Implementation(ATrooper *Trooper, + FVector Location) { + if (Trooper->CheckMoveCorrectness(Location)) { + Trooper->MoveTrooper(Location); + // GetMyGameMode()->CycleTurns(); + } else { + GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Red, + FString::Printf( + TEXT("Out of move radius!"))); + } +} + +void AMyPlayerState::Attack_Implementation(ATrooper *Attacker, + FVector Location, + int ActionIndex) { + if (Attacker->CheckAttackCorrectness(Location, ActionIndex)) { + Attacker->Attack(ActionIndex); + } else { + GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Red, + FString::Printf( + TEXT( + "Out of radius or not enough Action Points!"))); + } +} + +void AMyPlayerState::CycleTurns() const { + if (bIsMyTurn) { + Cast(GetWorld()->GetGameState())->CycleTurns(); + } +} + bool AMyPlayerState::IsMyTurn() const { return bIsMyTurn; } @@ -53,30 +84,6 @@ void AMyPlayerState::EndTurn_Implementation() { } } -void AMyPlayerState::MoveTrooper_Implementation( - ATrooper *Trooper, - FVector Location) { - if (Trooper->CheckMoveCorrectness(Location)) { - Trooper->MoveTrooper(Location); - // GetMyGameMode()->CycleTurns(); - } else { - GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Red, - FString::Printf( - TEXT("Out of move radius!"))); - } -} - -void AMyPlayerState::Attack_Implementation(ATrooper *Attacker, - FVector Location, - int ActionIndex) { - if (Attacker && CurrentAction >= 1 && CurrentAction <= 2 && - Attacker->CheckAttackCorrectness(Location, CurrentAction)) { - Attacker->Attack(CurrentAction); - } else { - UE_LOG(LogTemp, Warning, - TEXT("Out of radius or not enough Action Points")); - } -} void AMyPlayerState::OnPlayerAction(const FHitResult &HitResult) { auto const NewlySelectedLocation = HitResult.Location; @@ -125,16 +132,13 @@ void AMyPlayerState::OnPlayerAction(const FHitResult &HitResult) { } } -float AMyPlayerState::SetCurrentActionAndReturnRadius(int Action) { +void AMyPlayerState::SetCurrentAction_Implementation(int Action) { CurrentAction = Action; UE_LOG(LogTemp, Warning, TEXT("SetCurrentAction: %d on Player Controller " "with index %d"), CurrentAction, PlayerIndex); - if (SelectedTrooper) { - return SelectedTrooper->GetActionRadius(CurrentAction); - } - return 0.0f; } + uint8 AMyPlayerState::GetPlayerIndex() { return PlayerIndex; } diff --git a/Source/TurnBasedTutorial/MyPlayerState.h b/Source/TurnBasedTutorial/MyPlayerState.h index cd08241..e073ef7 100644 --- a/Source/TurnBasedTutorial/MyPlayerState.h +++ b/Source/TurnBasedTutorial/MyPlayerState.h @@ -30,13 +30,16 @@ public: void Attack(ATrooper *Attacker, FVector Location, int ActionIndex); UFUNCTION() + void CycleTurns() const; + + UFUNCTION(BlueprintCallable) bool IsMyTurn() const; UFUNCTION() void OnPlayerAction(const FHitResult &HitResult); - UFUNCTION(BlueprintCallable) - float SetCurrentActionAndReturnRadius(int Action); + UFUNCTION(BlueprintCallable, Client, Reliable) + void SetCurrentAction(int Action); UFUNCTION(BlueprintCallable) uint8 GetPlayerIndex(); @@ -56,8 +59,7 @@ private: UPROPERTY(Replicated) int CurrentAction = 0; - - + UPROPERTY(Replicated) ATrooper *SelectedTrooper; }; diff --git a/Source/TurnBasedTutorial/Trooper.cpp b/Source/TurnBasedTutorial/Trooper.cpp index e999987..30df2c1 100644 --- a/Source/TurnBasedTutorial/Trooper.cpp +++ b/Source/TurnBasedTutorial/Trooper.cpp @@ -214,7 +214,8 @@ bool ATrooper::CheckMoveCorrectness(const FVector newPos) const { bool ATrooper::CheckAttackCorrectness(const FVector attackLocation, int abilityIndex) const { - return (attackLocation - CurrentLocation).Size() <= + return GetAbility(abilityIndex) != nullptr && ( + attackLocation - CurrentLocation).Size() <= GetAbility(abilityIndex)->ActionRadius && ActionPoints >= GetAbility(abilityIndex)->ActionCost; // return (attackLocation - CurrentLocation).Size() <= AttackRadius;