void OnLobbyDataUpdated(LobbyDataUpdate_t callback) { if (callback.Success == 1) //1 if success, 0 if failure { if (ManualLobbyDataCallbacks.ContainsKey(callback.SteamIDLobby)) { ManualLobbyDataCallbacks[callback.SteamIDLobby]?.Invoke(Lobby.FromSteam(client, callback.SteamIDLobby)); } //find the lobby that has been updated Lobby lobby = Lobbies.Find(x => x != null && x.LobbyID == callback.SteamIDLobby); //if this lobby isn't yet in the list of lobbies, we know that we should add it if (lobby == null) { if (requests.Contains(callback.SteamIDLobby)) { lobby = Lobby.FromSteam(client, callback.SteamIDLobby); Lobbies.Add(lobby); checkFinished(); } } //otherwise lobby data in general was updated and you should listen to see what changed if (requests.Contains(callback.SteamIDLobby)) { OnLobbiesUpdated?.Invoke(); } } }
private void onCreateCallback(DataLobby obj) { bool canAdded = false; if (!IsFiltered) { if (Lobbies != null && Lobbies.Find(item => item.roomId == obj.roomId) == null) { canAdded = true; } } else { List <DataLobby> listLobbyFilter = getListLobbyFilter(); if (listLobbyFilter.Contains(obj)) { canAdded = true; } } if (canAdded) { view.AddLobby(obj); Lobbies.Add(obj); } }
private void onUpdateCallback(DataLobby obj) { view.UpdateLobby(obj); DataLobby lob = Lobbies.Find(i => i.roomId == obj.roomId); lob = obj; }
private void onDeleteCallback(DataLobby obj) { if (Lobbies != null) { DataLobby lob = Lobbies.Find(i => i.roomId == obj.roomId); if (lob != null) { view.RemoveLobby(obj); Lobbies.Remove(lob); } } }
void OnLobbyDataUpdated(LobbyDataUpdate_t callback) { if (callback.Success == 1) //1 if success, 0 if failure { //find the lobby that has been updated Lobby lobby = Lobbies.Find(x => x.LobbyID == callback.SteamIDLobby); //if this lobby isn't yet in the list of lobbies, we know that we should add it if (lobby == null) { Lobbies.Add(lobby); checkFinished(); } //otherwise lobby data in general was updated and you should listen to see what changed if (OnLobbiesUpdated != null) { OnLobbiesUpdated(); } } }
public Lobby GetLobby(ISocketMessageChannel channel) { return(Lobbies.Find(channel.Id)); }