public void OnGetServerListDone() { //拉取到服务器列表后 Control("Servercfg").GetComponent <Button>().onClick.RemoveAllListeners(); Control("Servercfg").GetComponent <Button>().onClick.AddListener(() => { Main.Ins.DialogStateManager.ChangeState(Main.Ins.DialogStateManager.ServerListDialogState); }); Main.Ins.CombatData.Server = Main.Ins.CombatData.Servers[0]; GameObject Services = Control("Services", WndObject); serverRoot = Control("Content", Services); int childNum = serverRoot.transform.childCount; for (int i = 0; i < childNum; i++) { GameObject.Destroy(serverRoot.transform.GetChild(i).gameObject); } for (int i = 0; i < Main.Ins.CombatData.Servers.Count; i++) { InsertServerItem(Main.Ins.CombatData.Servers[i], i); } TcpClientProxy.ReStart(); }
void InsertServerItem(ServerInfo svr, int i) { GameObject btn = GameObject.Instantiate(ResMng.Load("ButtonNormal")) as GameObject; btn.transform.SetParent(serverRoot.transform); btn.transform.localScale = Vector3.one; btn.transform.localPosition = Vector3.zero; btn.transform.localRotation = Quaternion.identity; btn.GetComponent <Button>().onClick.AddListener(() => { if (Main.Ins.CombatData.Server == Main.Ins.CombatData.Servers[i]) { TcpClientProxy.CheckNeedReConnect(); return; } TcpClientProxy.Exit(); ClearRooms(); Main.Ins.CombatData.Server = svr; TcpClientProxy.ReStart(); }); btn.GetComponentInChildren <Text>().text = svr.ServerName; }