// Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class Survival_projet : ModuleRules { public Survival_projet(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; // GameplayTags : Enhanced Input rend ses erreurs de remappage sous forme // de FGameplayTagContainer. Sans ce module on peut declarer le type mais // pas l'inspecter, et on perdrait la raison d'un echec dans le log. // Niagara : ACookingStation pilote sa flamme depuis le C++ (allumage, // extinction). Passer par un evenement Blueprint marcherait aussi, mais // l'etat du feu appartient au C++ -- le Blueprint ne doit brancher que // l'asset, pas decider quand il s'allume. // DeveloperSettings : USurvivalAudioSettings derive de UDeveloperSettings dans // un header public, donc la dependance doit l'etre aussi. C'est ce qui donne // la page "Survival Audio" dans les Project Settings. PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "GameplayTags", "UMG", "Niagara", "DeveloperSettings" }); // EngineSettings : UGameMapsSettings::GetGameDefaultMap(), qui evite de // redeclarer le chemin de la map de menu dans le C++ alors qu'il est // deja dans DefaultEngine.ini. // AnimGraphRuntime : UKismetAnimationLibrary::CalculateDirection, qui remplace // la methode homonyme d'UAnimInstance depreciee en 5.8. Prive et pas public -- // seul le .cpp de UPlayerBodyAnimInstance l'appelle, son header n'en montre rien. // PhysicsCore : EPhysicalSurface, la cle de la table de UFootstepSoundsDataAsset. // Le header passe sans, Engine l'exposant deja, mais le LIEN echoue -- // l'enum est REFLECHIE, donc UHT genere un appel a son constructeur // Z_Construct_UEnum_PhysicsCore_EPhysicalSurface, qui vit dans ce module. // Symptome : ca compile et ca casse a l'edition de liens (LNK2019). // Public parce que FootstepSoundsDataAsset.h montre le type dans sa TMap. PublicDependencyModuleNames.Add("PhysicsCore"); PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore", "EngineSettings", "AnimGraphRuntime" }); // Coop Steam : on ne depend QUE de l'API generique (OnlineSubsystem) et de // ses helpers (OnlineSubsystemUtils, qui porte le resolveur d'adresses). // Surtout PAS de OnlineSubsystemSteam en dur -- le code appellerait alors // du Steam explicitement et ne compilerait plus sur une plateforme sans // Steam. Le choix du service se fait par ini. // // Public et non Private : SessionSubsystem.h expose IOnlineSessionPtr et // FOnlineSessionSearchResult dans sa declaration. Un header public qui // montre les types d'un module prive ne compile pas chez celui qui l'inclut. PublicDependencyModuleNames.AddRange(new string[] { "OnlineSubsystem", "OnlineSubsystemUtils" }); } }