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(); }