void AShooterPlayerController::OnShowScoreboard() { AShooterHUD* ShooterHUD = GetShooterHUD(); if(ShooterHUD) { ShooterHUD->ShowScoreboard(true); } }
void AShooterPlayerController::OnHideScoreboard() { AShooterHUD* ShooterHUD = GetShooterHUD(); // If have a valid match and the match is over - hide the scoreboard if( (ShooterHUD != NULL ) && ( ShooterHUD->IsMatchOver() == false ) ) { ShooterHUD->ShowScoreboard(false); } }
void AShooterGameMode::RestartGame() { // Hide the scoreboard too ! for (FConstControllerIterator It = GetWorld()->GetControllerIterator(); It; ++It) { AShooterPlayerController* PlayerController = Cast<AShooterPlayerController>(*It); if (PlayerController != nullptr) { AShooterHUD* ShooterHUD = Cast<AShooterHUD>(PlayerController->GetHUD()); if (ShooterHUD != nullptr) { // Passing true to bFocus here ensures that focus is returned to the game viewport. ShooterHUD->ShowScoreboard(false, true); } } } Super::RestartGame(); }
void AShooterPlayerController::ClientGameEnded_Implementation(class AActor* EndGameFocus, bool bIsWinner) { Super::ClientGameEnded_Implementation(EndGameFocus, bIsWinner); // Allow only looking around SetIgnoreMoveInput(true); bAllowGameActions = false; // Make sure that we still have valid view target SetViewTarget(GetPawn()); // Show scoreboard AShooterHUD* ShooterHUD = GetShooterHUD(); if (ShooterHUD) { ShooterHUD->SetMatchState(bIsWinner ? EShooterMatchState::Won : EShooterMatchState::Lost); if (IsPrimaryPlayer()) { ShooterHUD->ShowScoreboard(true); } } }