LifePlay-Revival/Source/LifePlay/LPNavigationHelpers.h
edujiro5972 1122e17fa6 L0 : etat initial du projet 5.5 avant toute correction
Instantane de reference de la reprise de migration (2026-09-29).
Contient GI.uasset tel que trouve (copie UE4 identique a 4.27,
MD5 F4550DA5DC05FC005400CDCA2FC123C9). Ajouts de ce commit :
.gitattributes (aucune conversion de fin de ligne), regles .gitignore
CHG-001, Tools/ (Snapshot, Restore, AssetHeaders), empreintes L0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 00:56:10 +02:00

48 lines
1.9 KiB
C++

// 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<UNavigationQueryFilter> FilterClass = nullptr);
};