(Feat) Add footsteps
This commit is contained in:
@@ -378,7 +378,7 @@ void AFpsPlayerController::SetupInputComponent()
|
||||
|
||||
if (PauseAction)
|
||||
{
|
||||
Input->BindAction(PauseAction, ETriggerEvent::Started, this, &AFpsPlayerController::HandlePauseInput);
|
||||
Input->BindAction(PauseAction, ETriggerEvent::Started, this, &AFpsPlayerController::HandleEscapeInput);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -956,7 +956,7 @@ void AFpsPlayerController::CheckStorageDistance()
|
||||
}
|
||||
}
|
||||
|
||||
void AFpsPlayerController::HandlePauseInput()
|
||||
void AFpsPlayerController::HandleEscapeInput()
|
||||
{
|
||||
// La boite a le focus et consomme deja Echap elle-meme. Si elle l'a perdu,
|
||||
// on l'ignore quand meme : repondre ici refermerait le menu en laissant la
|
||||
@@ -1013,7 +1013,12 @@ void AFpsPlayerController::OpenPauseMenu()
|
||||
}
|
||||
|
||||
bPauseMenuOpen = true;
|
||||
PauseMenu->SetVisibility(ESlateVisibility::Visible);
|
||||
|
||||
// Open() et pas un simple SetVisibility : le menu prend AUSSI le focus
|
||||
// clavier. Sans lui, Echap ne reviendrait plus des le premier clic sur un
|
||||
// bouton -- un UButton prend le focus, et un widget focalise coupe la route
|
||||
// des touches vers Enhanced Input.
|
||||
PauseMenu->Open();
|
||||
|
||||
// AUCUN SetPause : en coop la pause est impossible par nature. Cote client
|
||||
// l'appel est ignore -- la pause appartient a l'autorite -- et cote hote il
|
||||
@@ -1052,9 +1057,11 @@ void AFpsPlayerController::ResumeGame()
|
||||
|
||||
if (PauseMenu)
|
||||
{
|
||||
PauseMenu->SetVisibility(ESlateVisibility::Collapsed);
|
||||
PauseMenu->Close();
|
||||
}
|
||||
|
||||
// FInputModeGameOnly repose le focus clavier sur le viewport : c'est ce qui
|
||||
// rend leurs touches au pawn et au controller apres le passage du menu.
|
||||
SetUiInputMode(false);
|
||||
}
|
||||
|
||||
@@ -1197,7 +1204,7 @@ void AFpsPlayerController::OpenSettings()
|
||||
// on pourrait cliquer Reprendre a travers l'ecran de reglages.
|
||||
if (PauseMenu)
|
||||
{
|
||||
PauseMenu->SetVisibility(ESlateVisibility::HitTestInvisible);
|
||||
PauseMenu->SetInteractive(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1210,9 +1217,12 @@ void AFpsPlayerController::HandleSettingsCloseRequested()
|
||||
SettingsMenu->Close();
|
||||
}
|
||||
|
||||
// SetInteractive(true) reprend le focus clavier, que l'ecran de reglages
|
||||
// avait pris pour lui et ne rend a personne en se fermant. L'oublier laisse
|
||||
// le menu de pause affiche mais sourd a Echap.
|
||||
if (PauseMenu)
|
||||
{
|
||||
PauseMenu->SetVisibility(ESlateVisibility::Visible);
|
||||
PauseMenu->SetInteractive(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1260,7 +1270,7 @@ void AFpsPlayerController::RequestQuitToMainMenu()
|
||||
// pourrait cliquer Reprendre alors que la question est encore posee.
|
||||
if (PauseMenu)
|
||||
{
|
||||
PauseMenu->SetVisibility(ESlateVisibility::HitTestInvisible);
|
||||
PauseMenu->SetInteractive(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1356,7 +1366,7 @@ void AFpsPlayerController::BeginQuitToMainMenu()
|
||||
|
||||
if (PauseMenu)
|
||||
{
|
||||
PauseMenu->SetVisibility(ESlateVisibility::Collapsed);
|
||||
PauseMenu->Close();
|
||||
}
|
||||
|
||||
// L'ecran d'inventaire ou de coffre resterait affiche par-dessus le noir,
|
||||
@@ -1378,9 +1388,11 @@ void AFpsPlayerController::HandleQuitToMenuCancelled()
|
||||
QuitToMenuDialog->Close();
|
||||
}
|
||||
|
||||
// Meme raison qu'a la fermeture des reglages : la boite avait le focus
|
||||
// clavier, on le reprend en redevenant la couche active.
|
||||
if (PauseMenu)
|
||||
{
|
||||
PauseMenu->SetVisibility(ESlateVisibility::Visible);
|
||||
PauseMenu->SetInteractive(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user