Section 2.12. rdInstBase – Data and Structures
// [rdInst v1.24] Bool to use HISMs rather than ISMs - defaults to True, but will change once UE4.27 is obsolete
bool bUseHISMs=true;
// [rdInst v1.35] Bool to recycle Instances rather than remove them
bool bRecycleInstances=true;
// [rdInst v1.00] Contains the return from Counting the ISMs
int32 numInstances=0;
// [rdInst v1.24] Add PhysicalMaterials to this Ignore List (for the procedural population)
TArray<UPhysicalMaterial*> ignorePMaps;
// [rdInst v1.00] Map of StaticMesh Keys with Arrays of Instances as the Values
TMap<const UStaticMesh*,FrdInstList> instList;
// [rdInst v1.35] How often the scan for swapping proxies should happen (tick count) -1 turns it off
int32 proxyProcessInterval=-1;
// [rdInst v1.35] Distance to swap proxy actors (this is a float in 4.27)
double proxySwapDistance=1000.0f;
// [rdInst v1.35] Distance to swap long-distance proxy actors (this is a float in 4.27)
double proxyLongDistanceSwapDistance=20000.0f;
// [rdInst v1.35] List of Actors to ignore when doing the proxy scans
TArray<AActor*> proxyScanIgnoreActors;
// [rdInst v1.35] How long to leave the Interactive Actor in place after leaving the radius (in ticks)
int32 proxyIdleTicks=10;
// [rdInst v1.35] How long to leave the Destruction Actor in place after it's been swapped (in ticks)
int32 proxyDestructionIdleTicks=200;
// [rdInst v1.35] Map of Meshes to recycled Instances available for re-use
TMap<UStaticMesh*,TArray<int32>> freeInstanceMap;
// [rdInst v1.20] Structure used to store spawn data for Distributed Transactions
struct rdDistributedObjectData {
bool pooled=false;
FrdProxySetup proxy;
AActor* actorTemplate=nullptr;
TArray<TArray<FTransform>> tList;
TArray<int32>* iList;
TArray<AActor*>* aList;
TArray<UNiagaraComponent*>* fxList;
};
// [rdInst v1.35] Structure with items for spawning
struct FrdSetObjectItem {
GENERATED_BODY()
public:
UStaticMesh* mesh;
UClass* actorClass;
AActor* actorTemplate;
UNiagaraSystem* vfx;
bool pool;
int32 numToPool;
TArray<FTransform> transforms;
};
// [rdInst v1.35] List of the previous items
class UrdSetObjectsList : public UObject {
GENERATED_BODY()
public:
TArray<FrdSetObjectItem> objects;
};