/// <summary> /// 移除区域中一个卡牌 /// </summary> public virtual void RemoveCard(CardFighterUI card) { if (cards.Contains(card)) { cards[cards.IndexOf(card)] = null; } }
/// <summary> /// 卡牌进入等待区 /// </summary> public IEnumerator CardWait(BaseAction action) { CardFighterUI card = GetCardByID(action.targetID); RemoveCard(action, card); yield return(StartCoroutine(cardWaitArea.AddCard(card))); }
public CardFighterUI GetCardUI(int id) { CardFighterUI cardUI = playerground0.GetCardByID(id); if (cardUI == null) { cardUI = playerground1.GetCardByID(id); } return(cardUI); }
/// <summary> /// 显示最新的死亡卡牌 /// </summary> public override IEnumerator AddCard(CardFighterUI card) { cards.Add(card); // 显示这张卡牌到等待区域 card.transform.parent = cardParent.transform; HOTween.To(card.transform, BattleTime.CARD_MOVE_TIME, new TweenParms().Prop("position", cardParent.transform.position)); card.ShowDead(); yield return(new WaitForSeconds(BattleTime.CARD_MOVE_TIME)); }
public IEnumerator AttackChange(BaseAction action) { AttackChangeAction attackChangeAction = action as AttackChangeAction; CardFighterUI cardUI = GetCardUI(action.targetID); if (cardUI != null) { cardUI.AttackChange(attackChangeAction.num); } yield return(new WaitForSeconds(BattleTime.ATTACK_CHANGE_TIME)); }
// 初始化数据 public void InitPlayerInfo(PlayerFighter fighter) { this.ID = fighter.ID; this.maxHp = fighter.maxHp; this.hp = fighter.maxHp; allCards = new List <CardFighterUI>(); foreach (CardFighter card in fighter.allCard) { card.Reset(); CardFighterUI newCardUI = NGUITools.AddChild(cardInitArea.cardParent, cardPrefab.gameObject).GetComponent <CardFighterUI>(); newCardUI.InitCardUI(card); allCards.Add(newCardUI); newCardUI.SetDirection(direction); } allCards.ForEach(card => cardInitArea.cards.Add(card)); }
public IEnumerator ShowCard(CardFighterUI card) { int index = cards.Count; if (card != null) { index = cards.IndexOf(card); } if (CenterArea(index)) { yield return(new WaitForSeconds(BattleTime.CARD_MOVE_TIME)); } else { yield return(null); } }
/// <summary> /// 增加一个卡牌 /// </summary> public override IEnumerator AddCard(CardFighterUI card) { cards.Add(card); yield return(StartCoroutine(ShowCard(card))); // 显示这张卡牌到等待区域 HOTween.To(card.transform, BattleTime.CARD_MOVE_TIME, new TweenParms().Prop("position", cardAreas[cards.Count - 1].transform.position).OnComplete(() => { if (card != null) { card.transform.parent = cardAreas[cards.Count - 1].transform; card.ShowUI(false); } })); card.SetActive(true); yield return(new WaitForSeconds(BattleTime.CARD_MOVE_TIME)); }
void RemoveCard(BaseAction action, CardFighterUI card) { if (action.sourceArea == CardArea.InitArea) { cardInitArea.RemoveCard(card); } else if (action.sourceArea == CardArea.WaitArea) { cardWaitArea.RemoveCard(card); } else if (action.sourceArea == CardArea.FightArea) { cardFightArea.RemoveCard(card); } else if (action.sourceArea == CardArea.DeadArea) { cardDeadArea.RemoveCard(card); } }
public IEnumerator ShowCure(BaseAction action) { CureNotifyAction damageAction = action as CureNotifyAction; if (action.targetID == playerground0.ID) { playerground0.ShowCure(damageAction.cure); } else if (action.targetID == playerground1.ID) { playerground1.ShowCure(damageAction.cure); } else { CardFighterUI cardUI = GetCardUI(action.targetID); if (cardUI != null) { cardUI.ShowCure(damageAction.cure); } } yield return(new WaitForSeconds(BattleTime.DAMAGE_SHOW_TIME)); }
public IEnumerator CastSkill(BaseAction action) { SkillStartAction skillStartAction = action as SkillStartAction; int cardID = skillStartAction.sourceID; CardFighterUI cardUI = GetCardUI(cardID); cardUI.StandUp(); yield return(new WaitForSeconds(BattleTime.CARD_MOVE_TIME)); foreach (int id in skillStartAction.targets) { if (id == playerground0.ID) { playerground0.ShowSkill(skillStartAction.skillID); } else if (id == playerground1.ID) { playerground1.ShowSkill(skillStartAction.skillID); } else { CardFighterUI target = GetCardUI(id); if (target != null) { target.ShowSkill(skillStartAction.skillID); } } } yield return(new WaitForSeconds(BattleTime.SKILL_TIME)); cardUI.SitDown(); yield return(new WaitForSeconds(BattleTime.CARD_MOVE_TIME)); }
/// <summary> /// 获得某张卡牌的位置 /// </summary> public virtual Vector3 GetPos(CardFighterUI card = null) { return(gameObject.transform.position); }
/// <summary> /// 增加一个卡牌 /// </summary> public virtual IEnumerator AddCard(CardFighterUI card) { cards.Add(card); yield return(null); }
// 是否存在某个卡牌 public bool ContainsCard(CardFighterUI card) { return(cards.Contains(card)); }
public IEnumerator ShowCard(int cardID) { CardFighterUI card = GetCardByID(cardID); yield return(StartCoroutine(cardFightArea.ShowCard(card))); }