(Feat) Build Work

This commit is contained in:
2026-07-28 14:16:50 +02:00
parent 175bef228c
commit 956f48816b
4 changed files with 22 additions and 8 deletions
+6
View File
@@ -74,6 +74,12 @@ l'oublie, en Standalone seulement : la caméra ne répond qu'au clic droit maint
actions cochées **« Trigger When Paused »** sont évaluées. C'est une case sur l'asset `IA_`,
pas du C++ — et son corollaire est qu'aucune action du pawn ne se déclenche en pause.
**Le `namespace` anonyme n'isole rien.** Le build unity concatène les `.cpp` du module : deux
constantes de même nom dans deux fichiers différents deviennent une redéfinition (C2374). Les
noms de fichier doivent être **uniques à l'échelle du module**. Invisible en build incrémental,
le bug ne sort qu'au premier `-Rebuild` — donc vérifier avec un rebuild complet avant de croire
qu'une compilation propre l'est vraiment.
## Systèmes en place
| Système | Fichiers |
@@ -54,11 +54,15 @@ FReply UConfirmDialogWidget::NativeOnKeyDown(const FGeometry& InGeometry, const
{
const FKey Key = InKeyEvent.GetKey();
// Virtual_Back en plus d'Echap : Slate y fait pointer le bouton "retour" de
// la manette selon la plateforme (B sur Xbox, Rond sur PlayStation). Une
// La touche "retour" de la manette en plus d'Echap : Slate y fait pointer le
// bouton retour de la plateforme (B sur Xbox, Rond sur PlayStation). Une
// seule ligne et le clavier comme la manette sont couverts, sans avoir a
// enumerer les touches de chaque constructeur.
if (bCancelOnEscape && (Key == EKeys::Escape || Key == EKeys::Virtual_Back))
//
// GetVirtualKey() et non la constante EKeys::Virtual_Back, depreciee en 5.8 :
// la resolution se fait desormais a l'appel, donc a chaud selon la manette
// reellement branchee.
if (bCancelOnEscape && (Key == EKeys::Escape || Key == EKeys::Virtual_Gamepad_Back.GetVirtualKey()))
{
OnCancelled.Broadcast();
@@ -67,7 +71,7 @@ FReply UConfirmDialogWidget::NativeOnKeyDown(const FGeometry& InGeometry, const
return FReply::Handled();
}
if (bConfirmOnEnter && (Key == EKeys::Enter || Key == EKeys::Virtual_Accept))
if (bConfirmOnEnter && (Key == EKeys::Enter || Key == EKeys::Virtual_Gamepad_Accept.GetVirtualKey()))
{
OnConfirmed.Broadcast();
return FReply::Handled();
@@ -44,8 +44,12 @@ namespace
// Le menu de pause passe devant tout le HUD, et la boite de confirmation
// devant lui. Meme echelle que dans le menu principal.
//
// Les noms doivent rester uniques dans TOUT le module : le build unity
// concatene les .cpp, et un namespace anonyme n'isole plus rien. D'ou le
// prefixe InGame, qui evite la collision avec le menu principal.
constexpr int32 ZOrderPauseMenu = 100;
constexpr int32 ZOrderSettingsMenu = 150;
constexpr int32 ZOrderInGameSettingsMenu = 150;
constexpr int32 ZOrderQuitToMenuDialog = 200;
}
@@ -534,7 +538,7 @@ void AFpsPlayerController::OpenSettings()
}
SettingsMenu->OnCloseRequested.AddDynamic(this, &AFpsPlayerController::HandleSettingsCloseRequested);
SettingsMenu->AddToViewport(ZOrderSettingsMenu);
SettingsMenu->AddToViewport(ZOrderInGameSettingsMenu);
}
bSettingsOpen = true;
@@ -22,7 +22,7 @@ namespace
// L'ecran de reglages recouvre le menu, la boite de confirmation passe
// devant les deux, et le fondu reste au-dessus de tout a 1000.
constexpr int32 ZOrderSettingsMenu = 50;
constexpr int32 ZOrderMainMenuSettings = 50;
constexpr int32 ZOrderQuitDialog = 100;
}
@@ -228,7 +228,7 @@ void AMainMenuPlayerController::OpenSettings()
}
SettingsMenu->OnCloseRequested.AddDynamic(this, &AMainMenuPlayerController::HandleSettingsCloseRequested);
SettingsMenu->AddToViewport(ZOrderSettingsMenu);
SettingsMenu->AddToViewport(ZOrderMainMenuSettings);
}
SettingsMenu->Open();