LifePlay-Revival/Source/LifePlay/LPOutdoorRoomSubsystem.h
edujiro5972 2c9fd48d40 L7l : plafond WallT masque dans les lieux exterieurs (ERR-036, mesure confirmee)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:38:12 +02:00

36 lines
1.4 KiB
C++

// Portage UE 5.5 - lot L7l (ERR-036, amelioration : defaut deja present en 4.27).
//
// Chaque lieu est construit par l'acteur Room (GI.Room) dont la racine prend l'echelle Z de la ligne 1 du
// .lpworld : 0,2 a 0,4 en interieur, 0,01 pour les 7 lieux exterieurs. Le plafond WallT (Z relatif 2040,
// sans collision) suit cette echelle : en exterieur il se trouve a ~20 cm au-dessus du sol et, vu de la
// camera, devient un "sol blanc" qui cache les pieds et le bas des meubles (releve L7l_releve3).
//
// Ce sous-systeme masque WallT tant que l'echelle Z de la racine de Room est inferieure au seuil, et le
// rend de nouveau visible des que la piece redevient interieure (seulement s'il l'a lui-meme masque).
// Aucun Blueprint ni asset n'est modifie ; sans Room ou sans WallT, il ne fait rien.
#pragma once
#include "CoreMinimal.h"
#include "Containers/Ticker.h"
#include "Subsystems/GameInstanceSubsystem.h"
#include "LPOutdoorRoomSubsystem.generated.h"
class USceneComponent;
UCLASS()
class LIFEPLAY_API ULPOutdoorRoomSubsystem : public UGameInstanceSubsystem
{
GENERATED_BODY()
public:
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
virtual void Deinitialize() override;
private:
bool Tick(float DeltaTime);
FTSTicker::FDelegateHandle TickHandle;
/** Plafond masque par ce sous-systeme (a rendre visible quand la piece redevient interieure). */
TWeakObjectPtr<USceneComponent> HiddenCeiling;
};