void SpawnLevelNPCs() { if (SpawnedNPCs.Count > 0) { for (int i = 0; i < SpawnedNPCs.Count; i++) { NPCData npc = SpawnedNPCs[i]; npc.GetCurrentPosition(); if (npc.SlotChanged) { RemoveSpawnedNPC(SpawnedNPCs[i].NPCID); } } } SpawnedNPCs = SpawnedNPCs.Where(x => x != null).ToList(); foreach (NPC NPC in NPCs) { // print(NPC.NPCID); if (NPC.Data == null) { continue; } NPC.Data.GetCurrentPosition(); if (SceneManager.GetActiveScene().name == NPC.Data.CurrentLevel) { SpawnNPCInLevel(NPC.Data.NPCID, NPC.Data.CurrentPosition, NPC.Data.CurrentFacing.ToString(), true); } } }