LifePlay-Revival/Source/LifePlay/LPCityHouses.h

50 lines
1.9 KiB
C
Raw Normal View History

// Lot STM1 (STM1-SPEC-12, G4-b) : table de pose des maisons d'une ville, posees en jeu par ULPCityWaterSubsystem.
//
// Creee par le commandlet LPBuildCityHouses sous <racine>/Houses/<Ville> (pack /lpm_city_<v>/StreetMap, ou jeu de base),
// lue en jeu par ULPAssetRegistryHelpers::ResolveCityPath. Une entree par batiment OSM garde (hors eau et hors monuments) :
// centre, lacet de l'arete la plus longue, dimensions reelles (longueur, largeur, hauteur) et variante. En jeu, les maisons
// generiques de MapMarkers (House*, et Skyscraper* si bReplaceSkyscrapers) sont cachees et un HISM par variante est rempli.
// Repere de la carte (cm), comme l'UStreetMap.
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "Engine/StaticMesh.h"
#include "LPCityHouses.generated.h"
UCLASS(BlueprintType)
class LIFEPLAY_API ULPCityHouses : public UDataAsset
{
GENERATED_BODY()
public:
/** Nom de la carte (nom du maillage Static et de l'UStreetMap). */
UPROPERTY(VisibleAnywhere, Category = "LPCityHouses")
FString City;
/** Maillages des variantes. Chacun est mis a l'echelle de sa boite englobante vers les dimensions de l'entree, pied au sol. */
UPROPERTY(VisibleAnywhere, Category = "LPCityHouses")
TArray<TSoftObjectPtr<UStaticMesh>> Variants;
/** Cacher aussi les tours generiques (Skyscraper*) de MapMarkers. */
UPROPERTY(VisibleAnywhere, Category = "LPCityHouses")
bool bReplaceSkyscrapers = true;
/** Centre de chaque batiment (repere de la carte, cm). */
UPROPERTY(VisibleAnywhere, Category = "LPCityHouses")
TArray<FVector2D> Centers;
/** Lacet de l'arete la plus longue du batiment (degres). */
UPROPERTY(VisibleAnywhere, Category = "LPCityHouses")
TArray<float> YawDeg;
/** Longueur (le long du lacet), largeur et hauteur (cm). */
UPROPERTY(VisibleAnywhere, Category = "LPCityHouses")
TArray<FVector> SizeCm;
/** Indice de variante de chaque batiment. */
UPROPERTY(VisibleAnywhere, Category = "LPCityHouses")
TArray<uint8> Variant;
};