LifePlay-Revival/Source/LifePlay/LPDataCompat.h
2026-10-02 12:33:19 +02:00

30 lines
1.5 KiB
C++

// Portage UE 5.5 - couche de donnees, etape 4b (Docs/Migration/11_Audit_Optimisation.md §17.4).
//
// GI::WhatWhereToArray developpe les lignes "WHAT: ..." et "WHERE: ..." des en-tetes de scenes en listes d'actions ou de
// lieux. Appelee 1 558 fois par passage de PopulateRaws, elle represente 94 % de PopulateScenes (3,4 s) : pour chaque
// "all", le Blueprint parcourt GI.ActionDetail ou GI.AmenityAction en copiant chaque structure.
//
// Cette fonction reproduit le graphe Blueprint a l'identique (memes fonctions de chaine LPStringCompat / KismetString,
// memes exclusions, memes doublons, meme ordre). Les deux appels de l'EventGraph de GI y sont rebranches par la
// commandlet LPFixWhatWhere. Option -LPVerifyWhatWhere : chaque appel execute aussi la fonction Blueprint d'origine
// (toujours presente dans GI) et journalise tout ecart.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "LPDataCompat.generated.h"
UCLASS()
class LIFEPLAY_API ULPDataCompat : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
/** Equivalent C++ de GI::WhatWhereToArray. Target = instance de jeu (GI), implicite depuis GI. */
UFUNCTION(BlueprintCallable, Category = "LifePlay|Compat", meta = (DefaultToSelf = "Target", HidePin = "Target"))
static void WhatWhereToArray(UObject* Target, const FString& Line, TArray<FString>& Array);
/** Implementation pure (sans verification), exposee pour les tests. */
static TArray<FString> ComputeWhatWhere(const UObject* GI, const FString& Line);
};