From 956f48816b42b7116e43829ba167c57cd29eb859 Mon Sep 17 00:00:00 2001 From: Mathew Date: Tue, 28 Jul 2026 14:16:50 +0200 Subject: [PATCH] (Feat) Build Work --- .claude/CLAUDE.md | 6 ++++++ .../Survival_projet/Private/ConfirmDialogWidget.cpp | 12 ++++++++---- .../Survival_projet/Private/FpsPlayerController.cpp | 8 ++++++-- .../Private/MainMenuPlayerController.cpp | 4 ++-- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 84e4f2f..96c15b3 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -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 | diff --git a/Source/Survival_projet/Private/ConfirmDialogWidget.cpp b/Source/Survival_projet/Private/ConfirmDialogWidget.cpp index 41f2d8e..d6ba8de 100644 --- a/Source/Survival_projet/Private/ConfirmDialogWidget.cpp +++ b/Source/Survival_projet/Private/ConfirmDialogWidget.cpp @@ -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(); diff --git a/Source/Survival_projet/Private/FpsPlayerController.cpp b/Source/Survival_projet/Private/FpsPlayerController.cpp index 7fc861a..26e60e8 100644 --- a/Source/Survival_projet/Private/FpsPlayerController.cpp +++ b/Source/Survival_projet/Private/FpsPlayerController.cpp @@ -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; diff --git a/Source/Survival_projet/Private/MainMenuPlayerController.cpp b/Source/Survival_projet/Private/MainMenuPlayerController.cpp index f5b4833..697548b 100644 --- a/Source/Survival_projet/Private/MainMenuPlayerController.cpp +++ b/Source/Survival_projet/Private/MainMenuPlayerController.cpp @@ -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();