using System; using System.Collections; using System.IO; using UnityEngine; public class ServerManager : DestroyableSingleton { public string OnlineNetAddress { get { return this.LastServer.Ip; } } public const string DefaultOnlineServer = "50.116.1.42"; public static readonly ServerInfo DefaultServer = new ServerInfo { Name = "Primary", Ip = "50.116.1.42", Default = true }; public ServerInfo[] availableServers; public ServerInfo LastServer = ServerManager.DefaultServer; private string serverInfoFile; private ServerManager.UpdateState state; private enum UpdateState { Connecting, Failed, Success } public void Start() { this.serverInfoFile = Path.Combine(Application.persistentDataPath, "serverInfo.dat"); this.LastServer = ServerManager.DefaultServer; this.availableServers = new ServerInfo[] { this.LastServer }; this.state = ServerManager.UpdateState.Success; } public IEnumerator WaitForServers() { while (this.state == ServerManager.UpdateState.Connecting) { yield return null; } yield break; } }