Files
Unreal_EmberWild/Source/Survival_projet/Survival_projet.Build.cs
T
2026-08-11 15:23:10 +02:00

51 lines
2.8 KiB
C#

// 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" });
}
}