Segment MVP startup and pause flow

This commit is contained in:
2026-05-19 10:20:12 -07:00
parent af1edb51bc
commit de02b20786
7 changed files with 136 additions and 10 deletions
@@ -87,6 +87,7 @@ void AAgrarianGamePlayerController::BeginPlay()
{
SetIgnoreMoveInput(true);
SetIgnoreLookInput(true);
SetInputMode(FInputModeUIOnly());
bShowMouseCursor = false;
GetWorldTimerManager().SetTimer(
MvpFrontendStartupTimerHandle,
@@ -186,7 +187,7 @@ void AAgrarianGamePlayerController::ShowMvpFrontend()
{
MvpFrontendWidget->AddToPlayerScreen(10);
}
SetInputMode(FInputModeGameAndUI().SetWidgetToFocus(MvpFrontendWidget->TakeWidget()).SetLockMouseToViewportBehavior(EMouseLockMode::DoNotLock));
SetInputMode(FInputModeUIOnly().SetWidgetToFocus(MvpFrontendWidget->TakeWidget()).SetLockMouseToViewportBehavior(EMouseLockMode::DoNotLock));
bShowMouseCursor = true;
SetIgnoreMoveInput(true);
SetIgnoreLookInput(true);
@@ -223,7 +224,7 @@ void AAgrarianGamePlayerController::ShowMvpPauseMenu()
}
MvpFrontendWidget->SetActiveScreen(EAgrarianMvpFrontendScreen::MainMenu);
SetInputMode(FInputModeGameAndUI().SetWidgetToFocus(MvpFrontendWidget->TakeWidget()).SetLockMouseToViewportBehavior(EMouseLockMode::DoNotLock));
SetInputMode(FInputModeUIOnly().SetWidgetToFocus(MvpFrontendWidget->TakeWidget()).SetLockMouseToViewportBehavior(EMouseLockMode::DoNotLock));
bShowMouseCursor = true;
SetIgnoreMoveInput(true);
SetIgnoreLookInput(true);
@@ -548,7 +549,14 @@ void AAgrarianGamePlayerController::AgrarianShowMvpScreen(FName ScreenName)
return;
}
ClientMessage(TEXT("Usage: AgrarianShowMvpScreen main|character|join|loading"));
if (ScreenName == TEXT("saving") || ScreenName == TEXT("SavingAndQuit"))
{
MvpFrontendWidget->SetActiveScreen(EAgrarianMvpFrontendScreen::SavingAndQuit);
ClientMessage(TEXT("MVP frontend screen: saving and quit."));
return;
}
ClientMessage(TEXT("Usage: AgrarianShowMvpScreen main|character|join|loading|saving"));
}
void AAgrarianGamePlayerController::AgrarianTravel(float X, float Y, float Z)