private void OnCollision(object sender, string tag) { switch (tag) { case "Player": Picked?.Invoke(this, EventArgs.Empty); break; case "Finish": Over?.Invoke(this, EventArgs.Empty); break; } }
private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (!Pause) { this.TaskbarState = "None"; this.ButtonContent = "完成"; Client.Close(); this.FileNameText = "正在安装中..."; this.Rate = ""; this.Time = ""; CompressDecompress.UnZip(TempFile + Path.DirectorySeparatorChar + "Update.zip", SrcDirectory, true); List <string> ls = QueryXml(TempFile + Path.DirectorySeparatorChar + "DeleteFile.xml"); DeleteFile(SrcDirectory, ls); DeleteXml(); this.FileNameText = "安装完成"; Over.Invoke(null, EventArgs.Empty); } }
private void ExecuteLoadCommand() { VersionVisibility = Visibility.Hidden; ReadClientXml(); SrcDirectory = cx.SrcDirectory; Directory = SrcDirectory.Substring(0, SrcDirectory.LastIndexOf(Path.DirectorySeparatorChar)); //递归删除绝对路径的字符串截取,减少计算 IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(cx.IP), cx.Port); //把ip和端口转化为IPEndpoint实例 Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //创建Socket Client.Connect(ipe); //连接到服务器 Client.Send(Encoding.Default.GetBytes(IsFirstConnect.ToString())); byte[] buffer = new byte[1024]; int count = Client.Receive(buffer); ServerVersion = Encoding.Default.GetString(buffer, 0, count); if (cx.Version.Equals(ServerVersion)) { Client.Close(); FileNameText = "您的软件已经不需要更新"; Over.Invoke(null, EventArgs.Empty); } else { Client.Send(Encoding.Default.GetBytes("y")); VersionVisibility = Visibility.Visible; VersionText = "已装 : " + cx.Version + "\t升级 : " + ServerVersion; byte[] b = new byte[1024]; int c = Client.Receive(b); VersionDetail = Encoding.Default.GetString(b, 0, c); version.ShowVersion(); } IsFirstConnect = 1; Client.Close(); }
protected virtual void OnSkillEnded(EventArgs e) { Over?.Invoke(this.Last()); }
protected virtual void OnNotificationEnded(EventArgs e) { Over?.Invoke(this, e); }