(Feat) Add mulitplayer

This commit is contained in:
2026-08-03 10:30:47 +02:00
parent 41d6e6a7f3
commit a4cc59a411
41 changed files with 3418 additions and 125 deletions
@@ -24,6 +24,17 @@ void UPauseMenuWidget::NativeConstruct()
{
SettingsButton->OnClicked.AddDynamic(this, &UPauseMenuWidget::HandleSettingsClicked);
}
if (InviteButton)
{
InviteButton->OnClicked.AddDynamic(this, &UPauseMenuWidget::HandleInviteClicked);
// Evalue une seule fois : le menu de pause n'est construit qu'a la
// premiere ouverture, donc bien apres que la session ait reussi ou
// echoue. Rien ne peut plus changer cet etat en cours de partie.
const AFpsPlayerController* Controller = GetOwningPlayer<AFpsPlayerController>();
InviteButton->SetIsEnabled(Controller && Controller->CanInviteFriends());
}
}
void UPauseMenuWidget::NativeDestruct()
@@ -43,6 +54,11 @@ void UPauseMenuWidget::NativeDestruct()
QuitToMenuButton->OnClicked.RemoveDynamic(this, &UPauseMenuWidget::HandleQuitToMenuClicked);
}
if (InviteButton)
{
InviteButton->OnClicked.RemoveDynamic(this, &UPauseMenuWidget::HandleInviteClicked);
}
Super::NativeDestruct();
}
@@ -69,3 +85,11 @@ void UPauseMenuWidget::HandleQuitToMenuClicked()
Controller->RequestQuitToMainMenu();
}
}
void UPauseMenuWidget::HandleInviteClicked()
{
if (AFpsPlayerController* Controller = GetOwningPlayer<AFpsPlayerController>())
{
Controller->ShowInviteFriends();
}
}