private void websocket_MessageReceived(object sender, EventArgs e) { string value = ((WebSocket4Net.MessageReceivedEventArgs)e).Message; dynamic d = JObject.Parse(value); if (d.Type == (new WhatDoWeDoNow.JSON.GameObjectPositionChange()).Type) { WhatDoWeDoNow.JSON.GameObjectPositionChange obj = JsonConvert.DeserializeObject <WhatDoWeDoNow.JSON.GameObjectPositionChange>(value); Microsoft.Xna.Framework.Vector2 pos = new Microsoft.Xna.Framework.Vector2((float)obj.X, (float)obj.Y); //TheGame.Instance.player1.setPos(pos); //TheGame.Instance.gameObjects[obj.Id].setPos(pos); GameObject gobj = TheGame.Instance.gameObjects.GetById(obj.Id); if (gobj != null) { if (TheGame.Instance.distanceBetweenPoints(gobj.getPos(), pos) > 20) { gobj.setPos(pos); Console.WriteLine("Distance corrected!"); } } } if (d.Type == (new WhatDoWeDoNow.JSON.GameObject()).Type) { WhatDoWeDoNow.JSON.GameObject obj = JsonConvert.DeserializeObject <WhatDoWeDoNow.JSON.GameObject>(value); TheGame.Instance.gameObjects.Add(obj.Id, GameObjectFactory.get(obj)); } if (d.Type == (new WhatDoWeDoNow.JSON.GameObjectYouAre()).Type) { WhatDoWeDoNow.JSON.GameObjectYouAre obj = JsonConvert.DeserializeObject <WhatDoWeDoNow.JSON.GameObjectYouAre>(value); //TheGame.Instance.playerMe = (PlayerMe)TheGame.Instance.gameObjects.GetById(obj.Id); createPlayerMeAndTransformIt(obj.Id); } }
private void appServer_NewMessageReceived(GameWebsocketSession session, string value) { dynamic d = JObject.Parse(value); Console.WriteLine("Received #" + messagesReceived + " received and type is: " + d.Type); ++messagesReceived; if (d.Type == (new WhatDoWeDoNow.JSON.GameObjectPositionChange()).Type) { WhatDoWeDoNow.JSON.GameObjectPositionChange obj = JsonConvert.DeserializeObject <WhatDoWeDoNow.JSON.GameObjectPositionChange>(value); foreach (GameWebsocketSession session2 in appServer.GetAllSessions()) { if (session == session2) { continue; } session2.Send(value); } } if (d.Type == (new WhatDoWeDoNow.JSON.PlayerChange("bla")).Type) { WhatDoWeDoNow.JSON.PlayerChange obj = JsonConvert.DeserializeObject <WhatDoWeDoNow.JSON.PlayerChange>(value); //apply it on user if (obj.Change == "Down") { session.Player.playerDownCommand(); } if (obj.Change == "DownEnd") { session.Player.playerDownCommandEnd(); } if (obj.Change == "Up") { session.Player.playerUpCommand(); } if (obj.Change == "UpEnd") { session.Player.playerUpCommandEnd(); } if (obj.Change == "Left") { session.Player.playerLeftCommand(); } if (obj.Change == "LeftEnd") { session.Player.playerLeftCommandEnd(); } if (obj.Change == "Right") { session.Player.playerRightCommand(); } if (obj.Change == "RightEnd") { session.Player.playerRightCommandEnd(); } if (obj.Change == "Jump") { session.Player.playerJumpCommand(); } if (obj.Change == "JumpEnd") { session.Player.playerJumpCommandEnd(); } } }