using System; using System.Collections.Generic; using UnityEngine; public class ServerSelectUi : MonoBehaviour { public ServerSelector ServerButtonPrefab; public Vector3 ScrollStartArea; public Scroller Slider; public ServerSelector CustomServer; private List myButtons = new List(); public void Start() { ServerInfo[] availableServers = DestroyableSingleton.Instance.availableServers; Vector3 scrollStartArea = this.ScrollStartArea; for (int i = 0; i < availableServers.Length; i++) { if (!(availableServers[i].Name == "Custom")) { ServerSelector serverSelector = UnityEngine.Object.Instantiate(this.ServerButtonPrefab, this.Slider.Inner); serverSelector.name = availableServers[i].Name; this.myButtons.Add(serverSelector); serverSelector.transform.localPosition = scrollStartArea; serverSelector.Parent = this; serverSelector.MyServer = availableServers[i]; if (availableServers[i].Default) { serverSelector.Select(); } scrollStartArea.y -= 0.7f; } } this.CustomServer.Parent = this; this.myButtons.Add(this.CustomServer); if (DestroyableSingleton.Instance.LastServer.Name == "Custom") { this.CustomServer.Select(); } this.Slider.YBounds.max = this.ScrollStartArea.y; this.Slider.YBounds.min = scrollStartArea.y; } internal void SelectServer(ServerSelector selected) { for (int i = 0; i < this.myButtons.Count; i++) { ServerSelector serverSelector = this.myButtons[i]; if (!serverSelector.MyServer.Default) { serverSelector.Unselect(); } } } }