コード例 #1
0
        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);
                }
            }
        }