198{
200
202 {
204 {
205 LOG_ERROR(LogCK,
"SpawnArea_ID가 설정되어있지 않아 건너뜁니다. ");
206 continue;
207 }
208
210
211 if (MonsterData == nullptr)
212 {
213 LOG_ERROR(LogCK,
"Monster_ID '%s'에 대한 MonsterData를 찾을 수 없습니다.", *SpawnTable.Enemy_ID.ToString());
214 continue;
215 }
216
217 const TSubclassOf<AEnemyCharacterBase> EnemyClass =
ResolveEnemyClass(SpawnTable.Enemy_ID);
218
219 if (EnemyClass == nullptr)
220 {
221 continue;
222 }
223
225
226 if (PatternClass == nullptr)
227 {
228 continue;
229 }
230
231 for (UEnemySpawnerComponent* Spawner :
GetSpawners(SpawnTable.SpawnArea_ID))
232 {
233 if (IsValid(Spawner) == false)
234 {
235 continue;
236 }
237
243 SpawnJob.
SpawnPattern = NewObject<USpawnPattern>(
this, PatternClass);
244
246
247 LOG_SCREEN(
"%s %d 스포너가 활성화됨",
NAMEOF(UEnemySpawnerComponent), Spawner->GetSpawnerAreaMask());
248 LOG_INFO(LogCK,
"%s %d 스포너가 활성화됨. Spawn_ID: %s",
NAMEOF(UEnemySpawnerComponent), Spawner->GetSpawnerAreaMask(), *SpawnTable.Spawn_ID.ToString());
249 }
250 }
251
253}
#define LOG_SCREEN(Format,...)
Definition CK_UE.h:50
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
#define LOG_INFO(Category, Format,...)
Definition CK_UE.h:38
#define NAMEOF(Type)
Definition CK_UE.h:30
TSubclassOf< USpawnPattern > ResolveSpawnPatternClass(const FName SpawnPatternID) const
Definition EnemySpawnDirectorSystemComponent.cpp:276
TArray< UEnemySpawnerComponent * > GetSpawners(ESpawnAreaID SpawnerID)
Definition EnemySpawnDirectorSystemComponent.cpp:394
TSubclassOf< AEnemyCharacterBase > ResolveEnemyClass(const FName EnemyID) const
Definition EnemySpawnDirectorSystemComponent.cpp:256
bool bIsActivated
Definition EnemySpawnDirectorSystemComponent.h:144
TArray< FActiveEnemySpawnJob > ActiveSpawnJobs
Definition EnemySpawnDirectorSystemComponent.h:156
Definition EnemySpawnDirectorSystemComponent.h:45
TSubclassOf< AEnemyCharacterBase > EnemyClass
Definition EnemySpawnDirectorSystemComponent.h:62
FWaveSpawnEntry SpawnEntry
Definition EnemySpawnDirectorSystemComponent.h:50
TObjectPtr< USpawnPattern > SpawnPattern
Definition EnemySpawnDirectorSystemComponent.h:59
FMonsterDataCollection MonsterDataCollection
Definition EnemySpawnDirectorSystemComponent.h:53
TObjectPtr< UEnemySpawnerComponent > Spawner
Definition EnemySpawnDirectorSystemComponent.h:56
Definition StageManifest.h:29
FName Wave_ID
Definition StageManifest.h:58
const FMonsterDataCollection * GetMonsterData(const FName &MonsterID) const
Definition StageManifest.cpp:705
Definition DT_SpawnTable.h:9