public void LoadCardData(SpellCardData card) { cardData = card; LoadRegularCardData(card); SpellCard spellCard = (SpellCard)GetComponent <SpellCard>(); spellCard.costText = costText; spellCard.originalCost = card.cost; }
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); }
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); } } }