/// <summary> /// 设置牌组的属性 /// </summary> /// <param name="deck">目标牌组</param> /// <param name="cards">牌组中的所有牌</param> /// <param name="servants">牌组中的所有从者</param> /// <param name="player">牌组所属的玩家</param> /// <returns></returns> public static Deck SetDeck(Deck deck, IEnumerable<Card> cards, IEnumerable<Servant> servants, Player player) { return deck.SetDeck(cards, servants, player); }
public static Player SetPlayer(Player player, string name, string id) { return player.SetPlayer(name, id); }
/// <summary> /// 设置牌组的属性 /// </summary> /// <param name="cards">牌组中的所有牌</param> /// <param name="servants">牌组中的所有从者</param> /// <param name="player">牌组所属的玩家</param> /// <returns></returns> public Deck SetDeck(IEnumerable<Card> cards, IEnumerable<Servant> servants, Player player) { if (!_initialiseFinished) throw new Exception("不允许重复设置卡组"); _undraw.AddRange(cards); _undraw.ForEach(e => { if (e.Deck != null) throw new Exception(e.ToString() + "已经属于其他卡组,无法添加到目标卡组"); _cardState.Add(e, CardState.Undraw); e.Deck = this; }); _servantHall.AddRange(servants); _servantHall.ForEach(e => { if (e.Deck != null) throw new Exception(e.ToString() + "已经属于其他卡组,无法添加到目标卡组"); e.Deck = this; }); Player = player; Count = _undraw.Count; _initialiseFinished = true; return this; }