GameFramework.Scene.ReloadObjects C# (CSharp) 메소드

ReloadObjects() 개인적인 메소드

private ReloadObjects ( ) : void
리턴 void
        internal void ReloadObjects()
        {
            if (m_PreparedReloadMonsterCount > 0) {
            for (int i = 0; i < m_PreparedReloadMonsterCount; ++i) {
                TableConfig.LevelMonster monster = m_PreparedReloadMonsters[i];
                if (null != monster) {
                    int campId = monster.camp;
                    TableConfig.Actor actor = TableConfig.ActorProvider.Instance.GetActor(monster.actorID);
                    if (null != actor) {
                        int unitId = campId * 10000 + i;
                        EntityInfo npc = EntityManager.AddEntity(unitId, campId, actor, (int)AiStateLogicId.Entity_General);
                        if (null != npc) {
                            npc.IsPassive = monster.passive;
                            npc.LevelMonsterData = monster;
                            npc.SetLevel(monster.level);
                            npc.GetMovementStateInfo().SetPosition2D(monster.x, monster.y);
                            npc.GetMovementStateInfo().SetFaceDir(monster.dir);

                            Msg_RC_CreateNpc msg = DataSyncUtility.BuildCreateNpcMessage(npc);
                            NotifyAllUser(RoomMessageDefine.Msg_RC_CreateNpc, msg);

                            Msg_RC_SyncProperty msg2 = DataSyncUtility.BuildSyncPropertyMessage(npc);
                            NotifyAllUser(RoomMessageDefine.Msg_RC_SyncProperty, msg2);
                        }
                    }
                }
            }
            m_PreparedReloadMonsterCount = 0;
            }
            while (m_ReloadMonstersQueue.Count > 0 && m_PreparedReloadMonsterCount < c_MaxReloadMonsterNum) {
            m_PreparedReloadMonsters[m_PreparedReloadMonsterCount++] = m_ReloadMonstersQueue.Dequeue();
            }
        }