Example #1
0
        /// <summary>
        /// 设置Master的UI
        /// </summary>
        /// <param name="master"></param>
        /// <param name="card"></param>
        /// <param name="isSelectable"></param>
        public void setMaster(Master master, TouhouCardEngine.Card card, bool isSelectable = false)
        {
            CardSkinData skin = getSkin(card);

            master.Image.sprite = skin.image;
            master.LifePropNumber.asText.text = card.getCurrentLife(game).ToString();
            //if (card.getCurrentLife() == card.getLife())
            //    HpText.color = Color.white;
            //else
            //    HpText.color = Color.red;
            if (card.getAttack(game) > 0)
            {
                master.AttackPropNumber.asText.text = card.getAttack(game).ToString();
                master.AttackPropNumber.asText.display();
                master.AttackPropNumber.asText.display();
            }
            else
            {
                master.AttackPropNumber.asText.hide();
                master.AtkImage.hide();
            }
            if (card.getArmor(game) > 0)
            {
                master.ArmorPropNumber.asText.text = card.getArmor(game).ToString();
                master.ArmorPropNumber.display();
                master.ArmorImage.display();
            }
            else
            {
                master.ArmorPropNumber.asText.hide();
                master.ArmorImage.hide();
            }

            if (isSelectable)
            {
                // master.HighlightController = Master.Highlight.Yellow;
                master.onSelectableTrue.beforeAnim.Invoke();
                master.onSelectableTrue.afterAnim.Invoke();
            }
            else
            {
                master.onSelectableFalse.beforeAnim.Invoke();
                master.onSelectableFalse.afterAnim.Invoke();
            }
            if (card.getOwner() == player && game.currentPlayer == player && card.canAttack(game))
            {
                // master.HighlightController = Master.Highlight.Green;
                master.onCanAttackTrue.beforeAnim.Invoke();
                master.onCanAttackTrue.afterAnim.Invoke();
            }
            else
            {
                // master.HighlightController = Master.Highlight.None;
                master.onCanAttackFalse.beforeAnim.Invoke();
                master.onCanAttackFalse.afterAnim.Invoke();
            }
        }
Example #2
0
        /// <summary>
        /// 创建一张手牌
        /// </summary>
        /// <param name="card"></param>
        /// <param name="position">默认为-1也就是最右手</param>
        /// <returns></returns>
        public HandListItem createHand(TouhouCardEngine.Card card, int position = -1)
        {
            if (cardHandDic.ContainsKey(card))
            {
                UberDebug.LogErrorChannel("UI", "手牌中已经存在" + card + "对应UI" + cardHandDic[card]);
                return(cardHandDic[card]);
            }
            UberDebug.LogChannel("UI", "创建手牌UI:" + card);
            HandListItem item;

            if (card.getOwner() == player)
            {
                item = ui.SelfHandList.addItem();
                if (position >= 0)
                {
                    ui.SelfHandList.defaultItem.rectTransform.SetAsFirstSibling();
                    item.rectTransform.SetSiblingIndex(position + 1);
                }
                item.isDragable = true;
                setCard(item.Card, card, true);
            }
            else
            {
                item = ui.EnemyHandList.addItem();
                if (position >= 0)
                {
                    ui.EnemyHandList.defaultItem.rectTransform.SetAsFirstSibling();
                    item.rectTransform.SetSiblingIndex(position + 1);
                }
                item.isDragable = false;
                setCard(item.Card, card, false);
            }
            item.gameObject.name = card.ToString();
            item.onDrag.set(onDragHand);
            item.onEndDrag.set(onDragHandEnd);
            cardHandDic.Add(card, item);
            return(item);
        }