コード例 #1
0
ファイル: CardAreaBase.cs プロジェクト: leeckey/Card
 /// <summary>
 /// 移除区域中一个卡牌
 /// </summary>
 public virtual void RemoveCard(CardFighterUI card)
 {
     if (cards.Contains(card))
     {
         cards[cards.IndexOf(card)] = null;
     }
 }
コード例 #2
0
    /// <summary>
    /// 卡牌进入等待区
    /// </summary>
    public IEnumerator CardWait(BaseAction action)
    {
        CardFighterUI card = GetCardByID(action.targetID);

        RemoveCard(action, card);
        yield return(StartCoroutine(cardWaitArea.AddCard(card)));
    }
コード例 #3
0
ファイル: BattleRoomUI.cs プロジェクト: leeckey/Card
    public CardFighterUI GetCardUI(int id)
    {
        CardFighterUI cardUI = playerground0.GetCardByID(id);

        if (cardUI == null)
        {
            cardUI = playerground1.GetCardByID(id);
        }

        return(cardUI);
    }
コード例 #4
0
ファイル: CardAreaDead.cs プロジェクト: leeckey/Card
    /// <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));
    }
コード例 #5
0
ファイル: BattleRoomUI.cs プロジェクト: leeckey/Card
    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));
    }
コード例 #6
0
    // 初始化数据
    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));
    }
コード例 #7
0
    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);
        }
    }
コード例 #8
0
    /// <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));
    }
コード例 #9
0
 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);
     }
 }
コード例 #10
0
ファイル: BattleRoomUI.cs プロジェクト: leeckey/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));
    }
コード例 #11
0
ファイル: BattleRoomUI.cs プロジェクト: leeckey/Card
    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));
    }
コード例 #12
0
ファイル: CardAreaBase.cs プロジェクト: leeckey/Card
 /// <summary>
 /// 获得某张卡牌的位置
 /// </summary>
 public virtual Vector3 GetPos(CardFighterUI card = null)
 {
     return(gameObject.transform.position);
 }
コード例 #13
0
ファイル: CardAreaBase.cs プロジェクト: leeckey/Card
    /// <summary>
    /// 增加一个卡牌
    /// </summary>
    public virtual IEnumerator AddCard(CardFighterUI card)
    {
        cards.Add(card);

        yield return(null);
    }
コード例 #14
0
ファイル: CardAreaBase.cs プロジェクト: leeckey/Card
 // 是否存在某个卡牌
 public bool ContainsCard(CardFighterUI card)
 {
     return(cards.Contains(card));
 }
コード例 #15
0
    public IEnumerator ShowCard(int cardID)
    {
        CardFighterUI card = GetCardByID(cardID);

        yield return(StartCoroutine(cardFightArea.ShowCard(card)));
    }