summaryrefslogtreecommitdiff
path: root/Client/Assembly-CSharp/ServerSelectUi.cs
blob: 671ff7c6e2bd5544b624778f80a5f4e790eb6bcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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();
			}
		}
	}
}