Exemplo n.º 1
0
 private async void OnLeaveGameButtonClick(object sender, EventArgs e)
 {
     await Task.Run(() =>
     {
         if (LeaveGame != null)
         {
             LeaveGame.Invoke(this, EventArgs.Empty);
         }
     });
 }
Exemplo n.º 2
0
 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);
            }
        }
Exemplo n.º 4
0
 public void LeaveGame(LeaveGame leaveGame)
 {
     LeaveGame(Context.ConnectionId);
 }
Exemplo n.º 5
0
 private void LeaveExecute(Object obj)
 {
     _gameProvider.Service.Disconnect(_game.Id);
     LeaveGame?.Invoke(this, EventArgs.Empty);
 }