// Portage UE 5.5 (2026.9 beta) - remediation R-04. // // UNavigationSystemV1::K2_GetRandomPointInNavigableRadius est deprecie depuis 5.1 au profit // de K2_GetRandomLocationInNavigableRadius. Les deux ont EXACTEMENT la meme liste de // parametres et le meme retour, mais l'ancien est BlueprintPure et le nouveau est // BlueprintCallable : echanger la reference de fonction sur les noeuds existants leur // ajouterait des broches Exec non connectees, ils seraient elagues a la compilation. // C'est le meme piege que celui traite par ULPAssetRegistryHelpers lors du portage 4.27. // // Cette classe re-expose donc la version NON depreciee en BlueprintPure, avec des noms de // broches identiques a ceux du noeud d'origine, pour que la commandlet // LPFixDeprecatedNodes puisse se contenter de reaiguiller la reference de fonction. #pragma once #include "CoreMinimal.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "Templates/SubclassOf.h" #include "LPNavigationHelpers.generated.h" class ANavigationData; class UNavigationQueryFilter; UCLASS() class LIFEPLAY_API ULPNavigationHelpers : public UBlueprintFunctionLibrary { GENERATED_BODY() public: /** * Version PURE de UNavigationSystemV1::K2_GetRandomLocationInNavigableRadius. * * Les noms de parametres reproduisent ceux de K2_GetRandomPointInNavigableRadius : ce sont * eux qui portent les liaisons dans les Blueprints existants (Room, Person, AI). */ UFUNCTION(BlueprintPure, Category = "AI|Navigation", meta = (WorldContext = "WorldContextObject", DisplayName = "Get Random Location in Navigable Radius (Pure)", Keywords = "random point navigable radius")) static bool GetRandomLocationInNavigableRadius( UObject* WorldContextObject, const FVector& Origin, FVector& RandomLocation, float Radius, ANavigationData* NavData = nullptr, TSubclassOf FilterClass = nullptr); };