internal void ActiveFieldRoom(int roomid, int sceneId)
{
LogSys.Log(LOG_TYPE.INFO, "[0] active field room {0} scene {1} thread {2}", roomid, sceneId, cur_thread_id_);
Room rm = room_pool_.NewRoom();
if (null == rm) {
Interlocked.Decrement(ref preactive_room_count_);
LogSys.Log(LOG_TYPE.ERROR, "Failed active field room {0} in thread {1}, preactive room count {2}",
roomid, cur_thread_id_, preactive_room_count_);
return;
}
LogSys.Log(LOG_TYPE.INFO, "[1] active field room {0} scene {1} thread {2}", roomid, sceneId, cur_thread_id_);
rm.ScenePool = scene_pool_;
rm.Init(roomid, sceneId, user_pool_, connector_);
LogSys.Log(LOG_TYPE.INFO, "[2] active field room {0} scene {1} thread {2}", roomid, sceneId, cur_thread_id_);
rm.IsFieldRoom = true;
LogSys.Log(LOG_TYPE.INFO, "[3] active field room {0} scene {1} thread {2}", roomid, sceneId, cur_thread_id_);
//����ȫ����ɺ��ټӵ�������б����ʼtick
active_room_.Add(rm);
Interlocked.Decrement(ref preactive_room_count_);
LogSys.Log(LOG_TYPE.DEBUG, "active field room {0} in thread {1}, preactive room count {2}",
roomid, cur_thread_id_, preactive_room_count_);
}