Наследование: MonoBehaviour
Пример #1
0
        public void AddCard(UnityCard card)
        {
            var cardModel = Instantiate(cardModelPrefab, contentCardZone.transform).GetOrAddComponent <CardModel>();

            cardModel.Value = card;
            cardModel.transform.SetAsFirstSibling();

            OnAddCardModel(contentCardZone, cardModel);
        }
Пример #2
0
        private void AddCard(UnityCard card)
        {
            if (card == null)
            {
                return;
            }

            CardZone cardZone  = CardZones.Last();
            var      cardModel = Instantiate(cardModelPrefab, cardZone.transform).GetOrAddComponent <CardModel>();

            cardModel.Value = card;

            OnAddCardModel(cardZone, cardModel);
        }
Пример #3
0
        public void AddCard(UnityCard card, int handIndex)
        {
            if (handIndex == CgsNetManager.Instance.LocalPlayer.CurrentHand)
            {
                AddCard(card);
                return;
            }

            Debug.Log($"[DrawerViewer] Add {card.Id} to tab {handIndex}!");
            var cards = new List <string>(CgsNetManager.Instance.LocalPlayer.HandCards[handIndex]
                                          .Select(unityCard => unityCard.Id).ToList())
            {
                card.Id
            };

            CgsNetManager.Instance.LocalPlayer.RequestSyncHand(handIndex, cards.ToArray());
        }
Пример #4
0
    public virtual void SetUpdateShowOne(int id, GameObject obj, GameObject form)
    {
        ID         = id;
        card       = obj.GetComponent <UnityCard>();
        LevelCount = form.transform.Find("tx_LevelCount").GetComponentInChildren <Text>();
        ownCards   = form.transform.Find("tx_Amount").GetComponentInChildren <Text>();
        mainICon   = form.transform.Find("Icon").GetComponentInChildren <Image>();
        slider     = form.GetComponentInChildren <Slider>();
        cost       = form.transform.Find("Button/tx_Coin").GetComponentInChildren <Text>();
        name       = form.transform.Find("txIcon_Name").GetComponentInChildren <Text>();
        exitImg    = form.transform.Find("Button_Close").GetComponent <Image>();
        buttonE    = form.transform.Find("Button").GetComponent <Transform>();
        //TODO: 여기에 DailyCard의 카드량에도 바뀐량을 적용시켜야 한다.


        if (GameData.Instance.hasCard.ContainsKey(ID))
        {   //가지고 있는 카드의 tatal value
            int hasCards = GameData.Instance.hasCard[ID].hasCard;
            //현재 카드가 레벨업된value
            int level = GameData.Instance.hasCard[ID].level;
            //현재까지의 레벨로 총카드숫자로 변환
            int curLevel = GameData.Instance.Level[level - 1];
            //업데이트하고 남은 카드의 value
            remainCards = LevelUpRemain(ID);
            //next level의 전체 카드 value
            nextRemainCards = GameData.Instance.Level[level];
            nextUpGold      = GameData.Instance.LevelCost[level - 1];
            //현재레벨에서 다음레벨까지  필요한 카드의 value
            int curRemainCards = nextRemainCards - curLevel;

            LevelCount.text = string.Format("{0} / {1}", nextRemainCards, nextRemainCards);
            //value 카드단위당 증가할 vale설정 백분율
            float uni = 1f / nextRemainCards;
            //최대값이 1이므로 1실수율로 변환
            float value = remainCards * uni;
            //구매시 애니가 작동되어야 한다.
            slider.value = value;

            //다음 레벨에  업글가능한 카드가 존재할때
            if (remainCards >= curRemainCards)
            {
                //업그레이드를 유도하는 애니이펙트 실행 화살표 움직임
            }
            string cardName = GameData.Instance.UnityDatas[ID - 1].Name;
            mainICon.sprite = SpriteManager.GetSpriteByName("Sprite", cardName);
            //TODO 애니에서 다른 애니가 생성됨..보류
            ownCards.text = string.Format("{0}", level);

            name.text      = string.Format("{0} X ", cardName);
            nextCardAmount = nextRemainCards;
            CountSlider    = value;              //증가될 수치
            CountEa        = uni;                //계산된 증가량
            resultCard     = remainCards - nextRemainCards;

            StartCoroutine(LevelCountAnim());
            //증가된 레벨업value 를 콜백해야 한다.
            int levelUp = level + 1;
            ItemDisplayer.instance_ItemDisplayer.decreaseItem(nextUpGold);
            //GameData.Instance.itemDisplayers["GOLD"].decreaseItem(nextUpGold);
            //TODO: 이벤트 메니저에서 호출이 잘되지 않아서 여기서 집접입력함

            //GameData.Instance.hasCard[ID].hasCard
            card.LevelNum.text = string.Format(" 레벨 {0}", levelUp);

            //레벨업 이벤트 필요
            GameData.Instance.hasCard[ID].level = levelUp;
            // collLeveUp();
            eveLevelUp();
            card.ReSetting();
            //TODO: 아이디를 찾아서 바꿔주는 기능이 필요함
            //어디에 존재하는가?Tab 여기서 이벤트 발생
            //여기 UnityCard.cs와 중복확률
            if (IsTop)
            {
                card.updateBtn.gameObject.SetActive(false);
                IsTop = false;
            }
        }
    }
Пример #5
0
 public void AddCard(UnityCard card)
 {
     viewer.AddCard(card);
 }
 public void AddCard(UnityCard card)
 {
     _handViewer.AddCard(card);
 }