summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/ServerSelectUi.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Assembly-CSharp/ServerSelectUi.cs')
-rw-r--r--Client/Assembly-CSharp/ServerSelectUi.cs59
1 files changed, 59 insertions, 0 deletions
diff --git a/Client/Assembly-CSharp/ServerSelectUi.cs b/Client/Assembly-CSharp/ServerSelectUi.cs
new file mode 100644
index 0000000..671ff7c
--- /dev/null
+++ b/Client/Assembly-CSharp/ServerSelectUi.cs
@@ -0,0 +1,59 @@
+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<ServerSelector> myButtons = new List<ServerSelector>();
+
+ public void Start()
+ {
+ ServerInfo[] availableServers = DestroyableSingleton<ServerManager>.Instance.availableServers;
+ Vector3 scrollStartArea = this.ScrollStartArea;
+ for (int i = 0; i < availableServers.Length; i++)
+ {
+ if (!(availableServers[i].Name == "Custom"))
+ {
+ ServerSelector serverSelector = UnityEngine.Object.Instantiate<ServerSelector>(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<ServerManager>.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();
+ }
+ }
+ }
+}