IEnumerator Deal()
    {
        GameDeck.Initialize();
        HandController Player1 = Hand1.GetComponent <HandController>();

        Player1.Initialize(GameDeck, HandType.Player);
        Player1.gameObject.AddComponent <PlayerBrain>().Initialize(CombatZone);
        yield return(StartCoroutine(Player1.Deal()));

        HandController Player2 = Hand2.GetComponent <HandController>();

        Player2.Initialize(GameDeck, HandType.Opponent);
        Player2.gameObject.AddComponent <PlayerBrain>().Initialize(CombatZone);
        yield return(StartCoroutine(Player2.Deal()));

        Players.Add(Player1);
        Players.Add(Player2);
        //GameCard trumpCard = GameObjectUtils.AddAndPosition (CardPrefab, this.gameObject, new Vector3()).GetComponent<GameCard> ();
        //Debug.Log (null != GameDeck);
        //trumpCard.Initialize (GameDeck.TakeCardFromDeck ());

        yield return(new WaitForSeconds(1));

        BeginGame();
    }