using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Net;
///
/// 表示游戏设置。
///
public static class GameSetting
{
///
/// 表示登录服务器的设置。
///
public static readonly LoginSetting LoginSetting = new LoginSetting();
}
///
/// 表示登录服务器的设置。
///
public class LoginSetting
{
private List> list = new List>();
///
/// 随机获取一个登录服务器地址。
///
public bool GetLoginAddress(out string ip, out int port)
{
var index = Random.Range(0, list.Count);
ip = list[index].Key;
port = list[index].Value;
return true;
}
///
/// 随机获取一个登录服务器地址。
///
public IPEndPoint GetLoginAddress()
{
string ip;
int port;
GetLoginAddress(out ip, out port);
return new IPEndPoint(IPAddress.Parse(ip), port);
}
///
/// 设置登录服务器地址。
///
///
///
public void SetLoginAddress(string ip, int port)
{
list.Add(new KeyValuePair(ip, port));
}
///
/// 表示指定的地址是否包含在登录服务器设置中,即该地址是否是登录服务器地址。
///
public bool Contains(IPEndPoint endpoint)
{
return Contains(endpoint.Address.ToString(), (int)endpoint.Port);
}
///
/// 表示指定的地址是否包含在登录服务器设置中,即该地址是否是登录服务器地址。
///
public bool Contains(string ip, int port)
{
return list.Exists((pair) => ip == pair.Key && port == pair.Value);
}
}