Esempio n. 1
0
 static void PlayGame(TcpClient client)
 {
     try
     {
         var gameSettings = client.ReadJson <GameSettings>();
         var worldState   = client.ReadJson <JObject>();
         client.WriteJson(new PlayerMessage
         {
             MessageType = MessageType.Info,
             Message     = JObjectHelper.CreateSimple("Hello, hero! welcome to the grand tournament")
         });
         var mainConnection = ConnectToServer();
         mainConnection.WriteJson(gameSettings);
         mainConnection.WriteJson(worldState);
         var server = ConnectToServer();
         Proxy.CreateChainAndStart(server, client);
         var resultTask = mainConnection.ReadJsonAsync <GameResult>();
         resultTask.ContinueWith(x =>
         {
             Console.WriteLine(x.IsFaulted
                 ? $"Cant get game results. Reason: {x.Exception}"
                 : "The game was finished with the following results:" + Environment.NewLine + x.Result.ToString());
         });
     }
     catch (Exception e)
     {
         Console.WriteLine("something went wrong...");
         Console.WriteLine(e.ToString());
     }
 }
Esempio n. 2
0
        public void SendError(Exception e)
        {
            var msh = new PlayerMessage
            {
                MessageType = MessageType.Error,
                Message     = JObjectHelper.CreateSimple <string>(e.GetType().Name + ": " + e.Message)
            };

            try
            {
                client.WriteJson(msh);
            }
            catch { }
        }