bool gotRoom(object o, EventArgs e) { GotRoomEventArgs a = (GotRoomEventArgs)e; object ob = Rooms[a.RoomStub.guid]; if (ob == null) { Room r = new Room(this, View); r.InitialiseFromStub(a.RoomStub, a.RoomStub.guest ? View.RoomGuestList : a.RoomStub.isPrivateChatRoom ? View.RoomPrivateList : View.RoomList, State); initialiseRoomEvents(r); Rooms[r.Guid] = r; RoomsListOrder[RoomsListOrder.Length] = r.Guid; r.SetListOrder(RoomsListOrder.Length - 1); SelectedRoom = r; updateDraggable(); if (a.RoomStub.guest) updateRoomGuestListVisibility(true); else if (a.RoomStub.isPrivateChatRoom) updateRoomPrivateListVisibility(true); return false; } else { Room r = (Room)ob; if (!r.Pinned) r.Pinned = true; SelectedRoom = r; return true; } }
bool gotNewPhotoRoom(object o, EventArgs e) { GotRoomEventArgs a = (GotRoomEventArgs)e; bool newRoomShouldBeSelected = removeAllUnPinnedGuestPhotoRoomsExceptSpecified(a.RoomStub.guid); object ob = Rooms[a.RoomStub.guid]; if (ob == null) { Room r = new Room(this, View); r.InitialiseFromStub(a.RoomStub, a.RoomStub.isPrivateChatRoom ? View.RoomPrivateList : a.RoomStub.guest ? View.RoomGuestList : View.RoomList, State); initialiseRoomEvents(r); Rooms[r.Guid] = r; RoomsListOrder[RoomsListOrder.Length] = r.Guid; r.SetListOrder(RoomsListOrder.Length - 1); if (newRoomShouldBeSelected) setSelectedRoom(r, false); updateDraggable(); updateRoomUI(); return false; } else { Room r = (Room)ob; if (newRoomShouldBeSelected) setSelectedRoom(r, false); return true; } }