Space Plunder
Loading...
Searching...
No Matches
FDungeonSpawnRoom Struct Reference

#include <DungeonData.h>

Public Member Functions

bool GetHasSpawnedLimit () const
 
int32 GetExits () const
 
 FDungeonSpawnRoom ()
 
TArray< TSubclassOf< AActor > > & GetWeightedTypes ()
 
bool operator== (const FDungeonSpawnRoom &Other) const
 
bool operator!= (const FDungeonSpawnRoom &Other) const
 
bool IsValid () const
 

Public Attributes

TSubclassOf< AActor > Type = nullptr
 
int32 TypeWeight = 1
 
bool bDisable = false
 
bool bSpawnLimit = false
 
int32 NumberToSpawn = -1
 
int32 NumberSpawned = 0
 
bool bRequired = false
 
bool bCalculatedValues = false
 
int32 CalculatedExits = 0
 
EDungeonRoomType CalculatedType = EDungeonRoomType::Hallway
 
FBox CalculatedRoomBounds = FBox(FVector::ZeroVector, FVector::ZeroVector)
 

Private Attributes

TArray< TSubclassOf< AActor > > WeightedTypes
 

Constructor & Destructor Documentation

◆ FDungeonSpawnRoom()

FDungeonSpawnRoom::FDungeonSpawnRoom ( )
inline
116 {
117 }

Member Function Documentation

◆ GetExits()

int32 FDungeonSpawnRoom::GetExits ( ) const
inline
106 {
107 return CalculatedExits;
108 // if(Type == nullptr){UE_LOG(LogDungeonData, Warning, TEXT("FDungeonSpawnType::GetExits Type Failed"));return 0;}
109 // // BUG Get Exits doesn't seem to work on Default Object
110 // const IDungeonRoom* DungeonRoomClass = Cast<IDungeonRoom>(Type.GetDefaultObject());
111 // if(DungeonRoomClass == nullptr){UE_LOG(LogDungeonData, Warning, TEXT("FDungeonSpawnType::GetExits DungeonRoomClass Failed"));return 0;}
112 // return DungeonRoomClass->GetNumOfExits();
113 }
int32 CalculatedExits
Definition DungeonData.h:89

◆ GetHasSpawnedLimit()

bool FDungeonSpawnRoom::GetHasSpawnedLimit ( ) const
inline
96 {
97 if(bSpawnLimit)
98 {
100 }
101 return false;
102 }
bool bSpawnLimit
Definition DungeonData.h:75
int32 NumberToSpawn
Definition DungeonData.h:78
int32 NumberSpawned
Definition DungeonData.h:80

◆ GetWeightedTypes()

TArray< TSubclassOf< AActor > > & FDungeonSpawnRoom::GetWeightedTypes ( )
inline
128 {
129 if(Type == nullptr){UE_LOG(LogDungeonData, Error, TEXT("FDungeonSpawnRoom::GetWeightedTypes No Valid Type"));return WeightedTypes;}
130 WeightedTypes.Empty();
131 for(int32 i = 0; i < TypeWeight; ++i)
132 {
133 WeightedTypes.Add(Type);
134 }
135 return WeightedTypes;
136 };
int32 TypeWeight
Definition DungeonData.h:66
TArray< TSubclassOf< AActor > > WeightedTypes
Definition DungeonData.h:139
TSubclassOf< AActor > Type
Definition DungeonData.h:63

◆ IsValid()

bool FDungeonSpawnRoom::IsValid ( ) const
inline
153 {
154 if(Type == nullptr)
155 {
156 return false;
157 }
158 if(Type->ImplementsInterface(UDungeonRoom::StaticClass()) == false)
159 {
160 UE_LOG(LogDungeonData, Error, TEXT("FDungeonSpawnRoom::IsValid Please Remove RoomType %s Doesn't Implement Interface"), *Type->GetName());
161 return false;
162 }
163 return true;
164 }

◆ operator!=()

bool FDungeonSpawnRoom::operator!= ( const FDungeonSpawnRoom & Other) const
inline
148 {
149 if(Other.Type != Type){return true;}
150 return false;
151 }

◆ operator==()

bool FDungeonSpawnRoom::operator== ( const FDungeonSpawnRoom & Other) const
inline
143 {
144 if(Other.Type == Type){return true;}
145 return false;
146 }

Member Data Documentation

◆ bCalculatedValues

bool FDungeonSpawnRoom::bCalculatedValues = false

◆ bDisable

bool FDungeonSpawnRoom::bDisable = false

◆ bRequired

bool FDungeonSpawnRoom::bRequired = false

◆ bSpawnLimit

bool FDungeonSpawnRoom::bSpawnLimit = false

◆ CalculatedExits

int32 FDungeonSpawnRoom::CalculatedExits = 0

Calculated number of exits from the room.

◆ CalculatedRoomBounds

FBox FDungeonSpawnRoom::CalculatedRoomBounds = FBox(FVector::ZeroVector, FVector::ZeroVector)

◆ CalculatedType

EDungeonRoomType FDungeonSpawnRoom::CalculatedType = EDungeonRoomType::Hallway

◆ NumberSpawned

int32 FDungeonSpawnRoom::NumberSpawned = 0

◆ NumberToSpawn

int32 FDungeonSpawnRoom::NumberToSpawn = -1

◆ Type

TSubclassOf<AActor> FDungeonSpawnRoom::Type = nullptr

Class of the Room

◆ TypeWeight

int32 FDungeonSpawnRoom::TypeWeight = 1

How likely the Type is to be picked, 1 Standard, 2 double

◆ WeightedTypes

TArray<TSubclassOf<AActor> > FDungeonSpawnRoom::WeightedTypes
private

The documentation for this struct was generated from the following file: