예제 #1
0
    /// <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);
    }
예제 #2
0
    /// <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);
    }
예제 #3
0
    public bool MoveCard(CardZone dest, string id)
    {
        Card card = GetCard(id);

        if (card == null || !RemoveCard(id))
        {
            return(false);
        }
        return(dest.AddCard(card));
    }
예제 #4
0
    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();
    }
예제 #5
0
 public void AddCard(Card card)
 {
     Hand.AddCard(card);
 }