public void P_User_Enter_Room(ARWObject obj, SpecialRequestParam specialReqParam) { if (ARWServer.instance == null) { return; } string userProperties = specialReqParam.GetString("user_properties"); ARWUser newUser = ARWUserManager.instance.CreateUser(new JSONObject(userProperties)); ARWRoom currentRoom = ARWRoomManager.instance.allRooms.Where(a => a.id == specialReqParam.GetInt("room_id")).FirstOrDefault(); if (currentRoom == null) { return; } currentRoom.AddUserToRoom(newUser); if (ARWEvents.USER_ENTER_ROOM.handler == null) { return; } ARWEvents.USER_ENTER_ROOM.handler(obj, newUser); }
public void P_User_Exit_Room(ARWObject obj, SpecialRequestParam specialReqParam) { if (ARWServer.instance == null) { return; } ARWRoom currentRoom = ARWRoomManager.instance.allRooms.Where(a => a.id == specialReqParam.GetInt("room_id")).FirstOrDefault(); if (currentRoom == null) { return; } int userId = specialReqParam.GetInt("user_id"); ARWUser userLeaved = currentRoom.userList.Where(a => a.userId == userId).FirstOrDefault(); if (userLeaved == null) { return; } currentRoom.RemoveUser(userLeaved); if (ARWEvents.USER_EXIT_ROOM.handler == null) { return; } ARWEvents.USER_EXIT_ROOM.handler(obj, userLeaved); }
public ARWRoom CreateRoom(string roomData) { ARWRoom newRoom = new ARWRoom(roomData); if (this._allRooms.Where(a => a.id == newRoom.id).FirstOrDefault() == null) { this._allRooms.Add(newRoom); return(newRoom); } return(null); }
public void P_Join_Room(ARWObject obj, SpecialRequestParam specialReqParam) { if (ARWServer.instance == null) { return; } string roomData = specialReqParam.GetString("room_properties"); JSONObject roomDataJson = new JSONObject(roomData); ARWRoom newRoom = ARWRoomManager.instance.CreateRoom(roomData); ARWUserManager.instance.me.lastJoinedRoom = newRoom; if (ARWEvents.ROOM_JOIN.handler == null) { return; } ARWEvents.ROOM_JOIN.handler(obj, newRoom); }