public GameUserHandler(WebSocket webSocket, GameLogic game) { this.webSocket = webSocket; this.game = game; Connected = true; this.socketGame = new GameSocketServer(webSocket); this.sockeMessageHandler = new MessageHandler(socketGame); var initMessage = new Init(); sockeMessageHandler.PopulateActions(initMessage); sockeMessageHandler.RegisterActionReceiver(this); socketGame.OnDisconnect += SocketGame_OnDisconnect; socketGame.OnError += (sender, e) => { var i = 3; socketGame.Disconnect(); }; game.OnWinner += Game_OnWinner; game.OnTurnChange += Game_OnTurnChange; game.OnUsersChange += Game_OnUsersChange; game.OnGridChange += Game_OnGridChange; UserNumber = game.AddUser(); initMessage.UserData = new User() { Id = "", Nr = UserNumber }; initMessage.Points = game.GetGameGrid().ToGrid().Grid; sockeMessageHandler.SendMessage(initMessage); }