Example #1
0
    public void LoadCardData(SpellCardData card)
    {
        cardData = card;

        LoadRegularCardData(card);

        SpellCard spellCard = (SpellCard)GetComponent <SpellCard>();

        spellCard.costText     = costText;
        spellCard.originalCost = card.cost;
    }
Example #2
0
    private Card SpellSetup(SpellCardData data)
    {
        SpellCard card = Instantiate(spellCardPrefab, MainCanvas.Instance.transform).GetComponent <SpellCard>();

        card.BaseGoldCost = -1;
        card.effects      = data.effects;

        SpellEffects effs = card.gameObject.AddComponent(data.effects.GetType()) as SpellEffects;

        effs.card = card;
        if (effs == null)
        {
            return(card);
        }
        card.onInitilization = effs.OnInitilization;
        // regist effects
        if (effs.OnMoveToCardPile != null)
        {
            card.E_AddedToCardPile += effs.OnMoveToCardPile;
        }

        return(card);
    }
Example #3
0
    public void CommandExecute(BattleCardMaid maid, CommandMaid.State cmd)
    {
        if (maid == null)
        {
            maid = CurrentSelectedCard;
        }
        if (!IsCommandPossible(maid, cmd))
        {
            return;
        }
        switch (cmd)
        {
        case CommandMaid.State.TurnEnd:
            AddBattleEvent(new TurnEndBattleEvent());
            break;

        case CommandMaid.State.Cancel:
        {
            if (currentCmd == CommandMaid.State.Attacking)
            {
                Helper.SetText("攻擊取消。");
            }
            else if (currentCmd == CommandMaid.State.Casting)
            {
                Helper.SetText("施法取消。");
            }
            ClearCurrentCommand();
            ClearSetTargetable();
            break;
        }

        case CommandMaid.State.Attack:
            currentCmd = CommandMaid.State.Attacking;
            AddBattleEvent(new AttackBattleEvent(maid));
            Helper.SetText("請選擇攻擊目標:");
            break;

        case CommandMaid.State.Cast:
            currentCmd = CommandMaid.State.Casting;
            SpellCardData s = maid.Data as SpellCardData;
            AddBattleEvent(new CastSpellBattleEvent(s.CastEffect, maid));
            Helper.SetText("請選擇施法目標:");
            break;

        case CommandMaid.State.Summon:
            maid.Owner.SummonCard(maid);
            MonsterCardData m = maid.Data as MonsterCardData;
            if (m.Warcry != null)
            {
                AddBattleEvent(new AbilityBattleEvent(m.Warcry, maid));
            }
            break;
        }
        if (maid != null)
        {
            maid.Owner.UpdateState();
            if (maid == CurrentSelectedCard)
            {
                SetCommand(maid);
            }
        }
    }