private void OnDrawnCardMessage(NetworkMessage netMsg)
    {
        var    msg = netMsg.ReadMessage <MessageTypes.DrawnCardMessage>();
        var    cardCodenameData = msg.CardCodename;
        string cardId           = msg.cardId;

        Debug.Log(String.Format("Card drawn: {0}({1})", cardCodenameData, cardId));

        // add to local version of game state
        CardCodename cardCodename = (CardCodename)Enum.Parse(typeof(CardCodename), cardCodenameData);
        PlayableCard card         = (PlayableCard)CardFactory.CreateCard(cardCodename, cardId);

        _game.Player.Hand.Add(card);

        GameViewController.AddCardToHand(card, true);

        // update player state gui
        UpdatePlayerStateGUI();
    }