public void CancelGamePreparation(AsyncUserToken userToken)
        {
            ServerSideTokenIdentity identity = (ServerSideTokenIdentity)userToken.info;

            lock (identity.MatchmakingLock)
            {
                if (identity.MatchmakingStatus != UserMatchmakingStatus.PREPARING_GAME)
                {
                    return;
                }

                GameWrapper gameWrapper = identity.GameWrapper;

                var game = gameWrapper.Game;

                lock (gameWrapper.@lock)
                {
                    GameCanceledNotification gameCanceledNotification = new GameCanceledNotification();

                    foreach (var token in gameWrapper.Tokens)
                    {
                        if (token != userToken)
                        {
                            Config.GameServer.Send(token, gameCanceledNotification);
                        }
                    }

                    TerminateGame(gameWrapper);
                }
            }
        }
 private void HandleGameCanceledNotification(GameCanceledNotification obj)
 {
     HeadToHomeScene();
 }