internal void RemoveUser(IList <ulong> guids, int roomId, bool free, MyAction <bool, int, IList <User> > callbackOnFinish)
{
Room room = GetRoomByID(roomId);
if (null != room)
{
List <User> users = new List <User>();
for (int i = 0; i < guids.Count; ++i)
{
User user = room.GetUserByGuid(guids[i]);
if (null != user)
{
room.RemoveUserFromRoomThread(user, free);
users.Add(user);
}
}
if (null != callbackOnFinish)
{
int sceneId = 0;
Scene scene = room.ActiveScene;
if (null != scene)
{
sceneId = scene.SceneResId;
}
callbackOnFinish(true, sceneId, users);
return;
}
}
if (null != callbackOnFinish)
{
callbackOnFinish(false, -1, null);
}
}