public void UpdateDisplay(NetTransport.ILobbyEntry data) { NetTransport.LobbyDisplayInfo info = default(NetTransport.LobbyDisplayInfo); if (data == null) { info.InitBlank(); } else { data.getDisplayInfo(out info); } UpdateDisplay(info); }
public void UpdateDisplay(NetTransport.LobbyDisplayInfo dispInfo) { if (InviteText != null) { InviteText.gameObject.SetActive(NetGame.instance.transport.CanSendInvite()); } if (!base.gameObject.activeSelf) { return; } if (dispInfo.FeaturesMask == 0) { ClearDisplay(); base.gameObject.SetActive(value: false); return; } if ((dispInfo.FeaturesMask & 0x20) != 0 && (dispInfo.Flags & 0x20) == 0) { ClearDisplay(); base.gameObject.SetActive(value: false); return; } uint num = dispInfo.Compare(ref prevDispInfo); prevDispInfo = dispInfo; uint num2 = 3221225472u; if (((int)num & -1073741824) != 0) { if (dispInfo.ShouldDisplayAllAttr(3221225472u)) { MaxPlayersText.text = MakePlayers(dispInfo.NumPlayersForDisplay, dispInfo.MaxPlayers, 4); } else { MaxPlayersText.text = string.Empty; } } if ((num & 1) != 0) { JoinGameInProgressText.text = MakeFlag(dispInfo.Flags, dispInfo.FeaturesMask, 1u, 6); } if ((num & 4) != 0) { InviteText.text = MakeFlag(dispInfo.Flags, dispInfo.FeaturesMask, 4u, 8); } if ((num & 2) != 0) { LockLevelText.text = MakeFlag(dispInfo.Flags, dispInfo.FeaturesMask, 2u, 7); } if ((num & 8) != 0) { if ((dispInfo.FeaturesMask & 8) != 0) { LaunchedText.text = (((dispInfo.Flags & 8) == 0) ? sLocalisedStrings[3] : sLocalisedStrings[2]); } else { LaunchedText.text = string.Empty; } } if ((num & 0x8000000) != 0) { if ((dispInfo.FeaturesMask & 0x8000000) != 0) { LobbyNameText.text = MakeLobbyTitle(dispInfo.LobbyTitle); } else { LobbyNameText.text = string.Empty; } } if (LevelText == null || LevelImage == null || (num & 0x20000000) == 0) { return; } if ((dispInfo.FeaturesMask & 0x20000000) == 0) { LevelText.text = string.Empty; LevelImage.texture = null; LevelImage.enabled = false; return; } string path; switch (dispInfo.LevelType) { case WorkshopItemSource.BuiltIn: WorkshopRepository.instance.LoadBuiltinLevels(); path = "builtin:" + dispInfo.LevelID; break; case WorkshopItemSource.EditorPick: WorkshopRepository.instance.LoadEditorPickLevels(); path = "editorpick:" + dispInfo.LevelID; break; default: path = "ws:" + dispInfo.LevelID + "/"; break; } WorkshopLevelMetadata item = WorkshopRepository.instance.levelRepo.GetItem(path); if (item != null) { LevelText.text = item.title; LevelImage.texture = item.thumbnailTexture; LevelImage.enabled = (LevelImage.texture != null); } else if (dispInfo.LevelID == (ulong)(Game.instance.levels.Length - 1)) { LevelText.text = ScriptLocalization.Get("LEVEL/" + Game.instance.levels[Game.instance.levels.Length - 1]); LevelImage.texture = HFFResources.instance.FindTextureResource("LevelImages/" + Game.instance.levels[Game.instance.levels.Length - 1]); LevelImage.enabled = true; } else { LevelText.text = string.Empty; LevelImage.texture = null; LevelImage.enabled = false; StartCoroutine(GetNewLevel(dispInfo.LevelID)); } }