31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
// Garde ERR-008 : GI.FocusOnMapMarkers lit MapMarkers.WidgetComponents[0] sans test de longueur.
|
|
// Apres HideAllMarkers (ou un spawn sans amenite), le tableau est vide → spam log + SetInputMode None.
|
|
// Ce sous-systeme retire les entrees detruites, reconstitue le tableau depuis les composants existants et
|
|
// vide Vector2Ds quand le tableau est vide, pour eviter le desync AddMarker. Depuis STB-MAP (decision C10,
|
|
// option B), il ne cree plus de composant de focus : FocusOnMapMarkers teste le tableau (CHG-282).
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Containers/Ticker.h"
|
|
#include "Subsystems/GameInstanceSubsystem.h"
|
|
#include "LPMapMarkersGuardSubsystem.generated.h"
|
|
|
|
class AActor;
|
|
|
|
UCLASS()
|
|
class LIFEPLAY_API ULPMapMarkersGuardSubsystem : public UGameInstanceSubsystem
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
|
|
virtual void Deinitialize() override;
|
|
|
|
private:
|
|
bool Tick(float DeltaTime);
|
|
void Guard(AActor* Markers);
|
|
|
|
FTSTicker::FDelegateHandle TickHandle;
|
|
bool bLoggedOnce = false;
|
|
};
|