47 lines
1.6 KiB
C++
47 lines
1.6 KiB
C++
// Lot STM1 (STM1-SPEC-01, T2) : trace du choix de la ville (F3, carte "quelconque" = ville factice 000Dummy).
|
|
//
|
|
// Lecture seule du GameInstance Blueprint par reflexion, toutes les 0,25 s ; une ligne [LPCity] (categorie LogLPCity)
|
|
// seulement quand une valeur change : liste des villes (CITIES), ville sauvegardee et sa correspondance (SAUVEGARDE,
|
|
// meme comparaison que GI.GetCityByName), ville demandee (DEMANDE, GI.CityToMoveTo), donnees StreetMap posees
|
|
// (STREETMAP) et maillage affiche (POSE). Rien a l'ecran, rien ecrit dans le GI, aucun appel de fonction Blueprint.
|
|
// Propriete introuvable : une ligne PROPRIETE ABSENTE, une seule fois. Commande console (non-Shipping) : LP.CityTrace.
|
|
// Absent du Shipping : corps sous #if !UE_BUILD_SHIPPING (LPCityTraceSubsystem.cpp).
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Containers/Ticker.h"
|
|
#include "Subsystems/GameInstanceSubsystem.h"
|
|
#include "LPCityTraceSubsystem.generated.h"
|
|
|
|
class IConsoleObject;
|
|
|
|
UCLASS()
|
|
class LIFEPLAY_API ULPCityTraceSubsystem : public UGameInstanceSubsystem
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
|
|
virtual void Deinitialize() override;
|
|
|
|
private:
|
|
bool Tick(float DeltaTime);
|
|
|
|
/** Releve des cinq points de mesure. bForce : ecrit tout, meme sans changement (commande console). */
|
|
void Sample(bool bForce);
|
|
|
|
/** Commande console LP.CityTrace. */
|
|
void DumpNow();
|
|
|
|
FTSTicker::FDelegateHandle TickHandle;
|
|
IConsoleObject* ConsoleCommand = nullptr;
|
|
double StartSeconds = 0.0;
|
|
|
|
int32 LastCityCount = -1;
|
|
FString LastSave;
|
|
FString LastRequest;
|
|
FString LastStreetMap;
|
|
FString LastPose;
|
|
TSet<FString> ReportedMissing;
|
|
};
|