private async void OnLeaveGameButtonClick(object sender, EventArgs e) { await Task.Run(() => { if (LeaveGame != null) { LeaveGame.Invoke(this, EventArgs.Empty); } }); }
public async void Send(LeaveGame leave) { try { await connection.InvokeAsync(nameof(LeaveGame), leave); } catch (TimeoutException) { } catch (InvalidOperationException) { } catch (Exception e) { } }
public static void HandlePackage(byte[] package, int playerId = -1) { try { IncomingGameEvent gameEvent; switch ((IncomingGameEventTypes)package[0]) { case IncomingGameEventTypes.ChangeVelocity: gameEvent = new ChangeVelocity(package); break; case IncomingGameEventTypes.Split: Console.WriteLine("SPLIT"); gameEvent = new Split(package); break; case IncomingGameEventTypes.ConnectionToServer: gameEvent = new ConnectionToServer(package); break; case IncomingGameEventTypes.LeaveGame: gameEvent = new LeaveGame(package); break; default: throw new Exception(String.Format("Incorrect package type: {0}", (IncomingGameEventTypes)package[0])); break; } OnPackageIncame?.Invoke(null, new OnPackageIncameEventArgs(gameEvent)); } catch (Exception e) { Console.WriteLine(e.Message); } }
public void LeaveGame(LeaveGame leaveGame) { LeaveGame(Context.ConnectionId); }
private void LeaveExecute(Object obj) { _gameProvider.Service.Disconnect(_game.Id); LeaveGame?.Invoke(this, EventArgs.Empty); }