public static void CreateNewGame(ulong userId, RestUserMessage message)
        {
            var game = new GameStruct
            {
                Grid     = GameWork.GetNewGameBoard(),
                Score    = 0,
                State    = GameWork.GameState.Playing,
                PlayerId = userId,
                Message  = message,
                Move     = 0
                           ////////////////////
            };

            Games.Add(game);
            UpdateMessage(game, userId);
        }
        public static void MakeMove(ulong userId, GameWork.MoveDirection direction, RestUserMessage socketMsg)
        {
            for (var i = 0; i < Global.OctopusGameMessIdList2048.Count; i++)
            {
                if (userId == Global.OctopusGameMessIdList2048[i].OctoGameUserIdToTrack2048)
                {
                    var game    = Games.FirstOrDefault(g => g.PlayerId == userId);
                    var gamesId = Games.IndexOf(game);

                    var result = GameWork.MakeMove(game.Grid, direction);

                    game.Score += result.GainedScore;
                    game.State  = result.State;
                    game.Grid   = result.Board;
                    game.Move++;

                    Games[gamesId] = game;

                    UpdateMessage(game, userId);
                    return;
                }
            }
        }