Esempio n. 1
0
        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);
        }