private void DrawServerList() { GUILayout.BeginHorizontal(); if (DisplayedServers == null || !DisplayedServers.Any()) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(); GUILayout.FlexibleSpace(); GUILayout.Label(LocalizationContainer.ServerListWindowText.NoServers, BigLabelStyle); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } else { GUILayout.BeginVertical(); for (var i = 0; i < DisplayedServers.Count; i++) { var currentEntry = DisplayedServers[i]; GUILayout.BeginHorizontal(i % 2 != 0 ? _oddServerLine : _evenServerLine); DrawServerEntry(currentEntry); GUILayout.EndHorizontal(); } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); }
private void DrawServerList() { GUILayout.BeginHorizontal(); if (DisplayedServers == null || !DisplayedServers.Any()) { GUILayout.BeginHorizontal(); GUILayout.Space(WindowWidth * 0.25f); GUILayout.BeginVertical(); GUILayout.Space(WindowHeight * 0.25f); GUILayout.Label("No servers!", BigLabelStyle); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else { GUILayout.BeginVertical(); foreach (var currentEntry in DisplayedServers) { GUILayout.BeginHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(25)); GUILayout.FlexibleSpace(); if (GUILayout.Button("▶", ButtonStyle)) { NetworkServerList.IntroduceToServer(currentEntry.Id); Display = false; } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(50)); GUILayout.FlexibleSpace(); GUILayout.Label(new GUIContent($"{currentEntry.Ping}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(50)); GUILayout.FlexibleSpace(); GUILayout.Label(new GUIContent($"{currentEntry.PlayerCount}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(90)); GUILayout.FlexibleSpace(); GUILayout.Label(new GUIContent($"{currentEntry.MaxPlayers}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(85)); GUILayout.FlexibleSpace(); GUILayout.Label(new GUIContent($"{(GameMode)currentEntry.GameMode}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(85)); GUILayout.FlexibleSpace(); GUILayout.Label(new GUIContent($"{(WarpMode)currentEntry.WarpMode}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(35)); GUILayout.FlexibleSpace(); GUILayout.Label(new GUIContent($"{currentEntry.Cheats}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(325)); GUILayout.Space(20); GUILayout.Label(new GUIContent($"{currentEntry.ServerName}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(1000)); GUILayout.Space(20); GUILayout.Label(new GUIContent($"{currentEntry.Description}")); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); }
private void DrawGridHeader() { GUILayout.BeginHorizontal(GUI.skin.box); GUILayout.BeginHorizontal(GUILayout.Width(25)); if (GUILayout.Button(Ascending ? "▲" : "▼", ButtonStyle)) { Ascending = !Ascending; } if (Event.current.type == EventType.Repaint) { HeaderGridSize[0] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(30)); if (GUILayout.Button(KeyIcon, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.Password) : DisplayedServers.OrderByDescending(s => s.Password); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[1] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(50)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.Ping, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.Ping) : DisplayedServers.OrderByDescending(s => s.Ping); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[2] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(50)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.Players, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.PlayerCount) : DisplayedServers.OrderByDescending(s => s.PlayerCount); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[3] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(85)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.MaxPlayers, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.MaxPlayers) : DisplayedServers.OrderByDescending(s => s.MaxPlayers); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[4] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(85)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.Mode, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.GameMode) : DisplayedServers.OrderByDescending(s => s.GameMode); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[5] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(75)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.WarpMode, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.WarpMode) : DisplayedServers.OrderByDescending(s => s.WarpMode); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[6] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(50)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.Terrain, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.TerrainQuality) : DisplayedServers.OrderByDescending(s => s.TerrainQuality); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[7] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(50)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.Cheats, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.Cheats) : DisplayedServers.OrderByDescending(s => s.Cheats); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[8] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(325)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.Name, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.ServerName) : DisplayedServers.OrderByDescending(s => s.ServerName); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[9] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(1000)); if (GUILayout.Button(LocalizationContainer.ServerListWindowText.Description, ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.Description) : DisplayedServers.OrderByDescending(s => s.Description); } if (Event.current.type == EventType.Repaint) { HeaderGridSize[10] = GUILayoutUtility.GetLastRect().width; } GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); }
private void DrawGridHeader() { GUILayout.BeginHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(25)); if (GUILayout.Button(Ascending ? "▲" : "▼", ButtonStyle)) { Ascending = !Ascending; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(50)); if (GUILayout.Button("Ping", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.Ping).ToList() : DisplayedServers.OrderByDescending(s => s.Ping).ToList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(50)); if (GUILayout.Button("Players", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.PlayerCount).ToList() : DisplayedServers.OrderByDescending(s => s.PlayerCount).ToList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(85)); if (GUILayout.Button("Max players", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.MaxPlayers).ToList() : DisplayedServers.OrderByDescending(s => s.MaxPlayers).ToList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(85)); if (GUILayout.Button("Mode", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.GameMode).ToList() : DisplayedServers.OrderByDescending(s => s.GameMode).ToList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(75)); if (GUILayout.Button("Warp mode", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.WarpMode).ToList() : DisplayedServers.OrderByDescending(s => s.WarpMode).ToList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(50)); if (GUILayout.Button("Cheats", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.Cheats).ToList() : DisplayedServers.OrderByDescending(s => s.Cheats).ToList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(325)); if (GUILayout.Button("Name", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.ServerName).ToList() : DisplayedServers.OrderByDescending(s => s.ServerName).ToList(); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.Width(1000)); if (GUILayout.Button("Description", ButtonStyle)) { DisplayedServers = Ascending ? DisplayedServers.OrderBy(s => s.Description).ToList() : DisplayedServers.OrderByDescending(s => s.Description).ToList(); } GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); }
private void DrawServerList() { GUILayout.BeginHorizontal(BoxStyle); if (DisplayedServers == null || !DisplayedServers.Any()) { GUILayout.BeginHorizontal(); GUILayout.Space(WindowWidth * 0.25f); GUILayout.BeginVertical(); GUILayout.Space(WindowHeight * 0.25f); GUILayout.Label(LocalizationContainer.ServerListWindowText.NoServers, BigLabelStyle); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } else { GUILayout.BeginVertical(); foreach (var currentEntry in DisplayedServers) { GUILayout.BeginHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[0])); if (GUILayout.Button("▶", ButtonStyle)) { if (currentEntry.Password) { ServerDetailsWindow.Singleton.ServerId = currentEntry.Id; ServerDetailsWindow.Singleton.Display = true; } else { NetworkServerList.IntroduceToServer(currentEntry.Id); Display = false; } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[1])); if (currentEntry.Password) { GUILayout.Label(new GUIContent(KeyIcon, "Password"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[1])); } else { GUILayout.Label("", GUILayout.MinWidth(HeaderGridSize[1])); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[2])); GUILayout.Label(new GUIContent($"{currentEntry.Ping}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[2])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[3])); GUILayout.Label(new GUIContent($"{currentEntry.PlayerCount}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[3])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[4])); GUILayout.Label(new GUIContent($"{currentEntry.MaxPlayers}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[4])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[5])); GUILayout.Label(new GUIContent($"{(GameMode)currentEntry.GameMode}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[5])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[6])); GUILayout.Label(new GUIContent($"{(WarpMode)currentEntry.WarpMode}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[6])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[7])); GUILayout.Label(new GUIContent($"{(TerrainQuality)currentEntry.TerrainQuality}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[7])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(HeaderGridSize[8])); GUILayout.Label(new GUIContent($"{currentEntry.Cheats}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[8])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(325)); GUILayout.Label(new GUIContent($"{currentEntry.ServerName}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[9])); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MinWidth(1000)); GUILayout.Label(new GUIContent($"{currentEntry.Description}"), LabelStyle, GUILayout.MinWidth(HeaderGridSize[10])); GUILayout.EndHorizontal(); GUILayout.EndHorizontal(); } GUILayout.EndVertical(); } GUILayout.EndHorizontal(); }