/// <summary> /// 手札から罠を伏せる処理 /// </summary> /// <param name="card">伏せるカード</param> /// <returns>処理が成功したか</returns> public bool CardSet(Card card) { //カードがどちらのプレイヤーのものか判別 Player caster = FindCardHolder(card); if (!caster) { //Debug.LogAssertion("カードを使用するプレイヤーが不明です"); return(false); } //カードの使用先を確認 CardZone zone = caster.GetSupportZone(); if (zone.isAddCard() && zone.AddCard(card)) { card.SetIsSet(true); //Debug.Log(card + "を" + zone.name + "にセット"); } else { Debug.Log("罠の使用に失敗しました"); caster.GetHandZone().SortUpdate(); } return(true); }
/// <summary> /// 手札から対象のカードを使用する処理 /// </summary> /// <param name="card">使用するカード</param> /// <param name="target">カードの使用対象</param> /// <returns>使用が成功したか否か</returns> public bool CardPlay(Card card, GameObject target = null) { //カードがどちらのプレイヤーのものか判別 Player caster = FindCardHolder(card); if (!caster) { //Debug.Log("カードを使用するプレイヤーが不明です"); return(false); } //カードの使用先を確認 CardZone zone = FindCardPlayZone(card, caster); if (zone.isAddCard()) { zone.AddCard(card); } //カードの使用イベントをスタックに追加 new CardPlayBlock(card, caster, target).AddBlock(); //Debug.Log(card + "が" + zone.name + "へ移動"); return(true); }
public bool MoveCard(CardZone dest, string id) { Card card = GetCard(id); if (card == null || !RemoveCard(id)) { return(false); } return(dest.AddCard(card)); }
public void DemoInit() { Deck.AddCard(new Strike()); Deck.AddCard(new HorizonStrike()); Deck.AddCard(new ViciousVigor()); Deck.AddCard(new Respite()); Deck.AddCard(new Strike()); Deck.AddCard(new HorizonStrike()); Deck.AddCard(new ViciousVigor()); Deck.AddCard(new Respite()); Deck.AddCard(new Strike()); Deck.AddCard(new HorizonStrike()); Deck.AddCard(new ViciousVigor()); Deck.AddCard(new Respite()); Discard.AddCard(new Strike()); Shuffle(Deck); DrawHand(); }
public void AddCard(Card card) { Hand.AddCard(card); }