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 Init() { recDir = string.Format("{0}/record/", Application.persistentDataPath); Prefab = Resources.Load("UI/Dialogs/RecordItem") as GameObject; if (System.IO.Directory.Exists(recDir)) { RefreshAuto(); } else { System.IO.Directory.CreateDirectory(recDir); } //一次加载全部录像存到 root = Control("content"); recCurrent = 0; //打开本地已存储的录像列表,UI上带新建,选择,删除,关闭/退出等 Control("Colse").GetComponent <Button>().onClick.AddListener(() => { OnPreviousPress(); }); Control("Deleted").GetComponent <Button>().onClick.AddListener(() => { //如果当前选择了某个录像,则删除 if (recCurrent != -1 && recList.Count > recCurrent) { string file = recList[recCurrent]; if (System.IO.File.Exists(file)) { System.IO.File.Delete(file); } GameObject removed = recItems[recCurrent]; recList.RemoveAt(recCurrent); recItems.RemoveAt(recCurrent); GameObject.Destroy(removed); recCurrent -= 1; } }); Control("Play").GetComponent <Button>().onClick.AddListener(() => { if (recCurrent > -1 && recData.Count > recCurrent) { //播放一个路线,弹出2级菜单. GameRecord rec = recData[recCurrent]; U3D.PlayRecord(rec); } }); Control("Upload").GetComponent <Button>().onClick.AddListener(() => { if (recCurrent > -1 && recData.Count > recCurrent) { U3D.PopupTip("上传录像"); //播放一个路线,弹出2级菜单. GameRecord rec = recData[recCurrent]; TcpClientProxy.UploadRecord(rec); } }); }
void OnJoinRoom() { if (SelectRoomId != -1) { TcpClientProxy.JoinRoom(SelectRoomId); } }
private void Awake() { Instance = this; TcpClientProxy.Init(); UdpClientProxy.Init(); actions = new List <FrameCommand>(); }
public bool SplashScreenHidden = false;//开屏splash图是否隐藏.隐藏后其他界面才能开始更新 void OnApplicationQuit() { //主线程阻塞到下载线程结束. HttpManager.Instance.Quit(); //释放日志占用 Log.Uninit(); TcpClientProxy.Exit(); FtpLog.Uninit(); UpdateHelper.SaveCache(); }
static void OnVerifyResult(ProtocolVerifyRsp rsp) { if (rsp.result == 1) { TcpClientProxy.UpdateGameServer();//取得房间列表 } else { U3D.PopupTip(string.Format("客户端版本过低-无法连接到服务器")); TcpClientProxy.Exit(); } }
void Init() { Version.text = Main.Ins.AppInfo.MeteorVersion; SinglePlayerMode.onClick.AddListener(() => { subMenuOpen = !subMenuOpen; SubMenu.SetActive(subMenuOpen); }); //单机关卡-官方剧情 SinglePlayer.onClick.AddListener(() => { OnSinglePlayer(); }); DlcLevel.onClick.AddListener(() => { OnDlcWnd(); }); //教学关卡-教导使用招式方式 TeachingLevel.onClick.AddListener(() => { OnTeachingLevel(); }); //创建房间-各种单机玩法 CreateBattle.onClick.AddListener(() => { OnCreateRoom(); }); //多人游戏-联机 MultiplePlayer.onClick.AddListener(() => { OnlineGame(); }); //设置面板 PlayerSetting.onClick.AddListener(() => { OnSetting(); }); Replay.onClick.AddListener(() => { OnReplay(); }); EnterQueue.onClick.AddListener(() => { OnEnterQueue(); }); if (Main.Ins.GameStateMgr.gameStatus.GodLike) { UploadLog.gameObject.SetActive(true); } UploadLog.onClick.AddListener(() => { FtpLog.UploadStart(); }); TcpClientProxy.Exit(); }
// Start is called before the first frame update void Start() { TcpClientProxy client = GetComponent <TcpClientProxy>(); TestButton.onClick.AddListener(() => { client?.Send(TestInput.text); TestInput.text = ""; }); client?.ReceiveEvent.AddListener((s) => { Debug.Log(s); }); }
public void TestTcp() { LogHelper.WriteLog = (s, p) => { Console.WriteLine(s); }; var hex = "01 30 30 37 37 02 7B 22 74 79 70 65 22 3A 22 67 65 74 54 6F 6B 65 6E 22 2C 22 76 65 72 73 69 6F 6E 22 3A 22 31 2E 30 2E 30 2E 30 22 7D 03 36 36 63 33 39 65 62 62 64 32 61 63 36 30 32 66 33 64 32 34 32 32 36 35 31 65 33 61 66 61 31 66 04"; var bytes = DataHelper.HexToByte(hex); TcpClientProxy socketClient = new TcpClientProxy(new ClientOption() { Ip = "139.155.104.69", Port = 10007, NoDelay = true, ProtocolType = ProtocolType.Tcp }); socketClient.OnConnected += (s) => { }; socketClient.OnReceived += (s, r) => { LogHelper.Info($"【{socketClient.LocalEndPoint}】收到数据:{r.Raw.ToHexWithSpace()}"); }; socketClient.OnClosed += (s) => { LogHelper.Info($"【{socketClient.LocalEndPoint}】断开连接"); }; Task.Run(async() => { await socketClient.ConnectAsync(); Assert.IsTrue(socketClient.Socket.Connected); }); while (true) { Thread.Sleep(500); if (socketClient.Socket.Connected) { socketClient.Send(bytes); } } }
static void OnConnect(int result, string message) { //取得房间信息 if (result == 1) { retryNum = 3; TcpClientProxy.UpdateGameServer(); //TcpClientProxy.AutoLogin();//验证客户端的合法性 } else { //链接失败,重置对战 U3D.PopupTip(message); Main.Ins.NetWorkBattle.OnDisconnect(); retryNum--; if (retryNum <= 0) { TcpClientProxy.Exit();//重试3次,等待切换服务器再激活链接服务器的定时器. retryNum = 3; } } }
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; }
void OnRefresh() { TcpClientProxy.UpdateGameServer(); }