Пример #1
0
    public void SetContent(string skillId)
    {
        if (skillId == null || skillId == string.Empty)
        {
            return;
        }
        SkillInfo info = pSKillMgr.GetOwnedSkill(skillId);

        if (info == null)
        {
            return;
        }
        model.skillInfo = info;
        BaseSkillAsset bsa = info.sa as BaseSkillAsset;

        if (bsa == null)
        {
            return;
        }
        List <CardInfo> gooo = pCardMgr.GetSkillCards(skillId);

        model.infos = gooo;

        for (int i = 0; i < gooo.Count; i++)
        {
            GameObject  go          = pResLoader.Instantiate("UI/CardOut", view.CardsContainer);
            CardOutView cardOutView = new CardOutView();
            cardOutView.BindView(go.transform);
            view.AllCards.Add(cardOutView);
            cardOutView.Hint.gameObject.SetActive(false);

            CardInfo cardInfo = gooo[i];

            {
                DragEventListener listener = cardOutView.CardFace.gameObject.GetComponent <DragEventListener>();
                if (listener == null)
                {
                    listener = cardOutView.CardFace.gameObject.AddComponent <DragEventListener>();
                }

                listener.ClearClickEvent();
                listener.ClearPointerEvent();
                listener.OnClickEvent += delegate {
                    ChangeEnable(cardOutView);
                };
                listener.PointerEnterEvent += delegate {
                    ShowPopupInfo(cardInfo);
                    //idx
                };
                listener.PointerExitEvent += delegate {
                    HidePopupInfo();
                };
            }

            CardAsset ca = cardInfo.ca;
            cardOutView.Name.text = ca.CardName;
            cardOutView.Desp.text = ca.CardEffectDesp;
            cardOutView.DaGou.SetActive(!cardInfo.isDisabled);
            cardOutView.Picture.sprite = ca.Picture;

            //TODO: 质壁分离
            cardOutView.NamePicture.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardName/" + ca.CatdImageName);
            cardOutView.Cost.text          = ca.cost + "";
            switch (ca.CardType)
            {
            case eCardType.GENG:
                cardOutView.Cover.sprite       = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Geng");
                cardOutView.Bg.sprite          = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Geng");
                cardOutView.TypePicture.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Geng");
                Color nowColor1 = Color.white;
                ColorUtility.TryParseHtmlString(CostColor[2], out nowColor1);      //color follow the type
                cardOutView.Cost.color = nowColor1;
                break;

            case eCardType.ABILITY:
                cardOutView.Cover.sprite       = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Ability");
                cardOutView.Bg.sprite          = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Ability");
                cardOutView.TypePicture.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Ability");
                Color nowColor2 = Color.white;
                ColorUtility.TryParseHtmlString(CostColor[1], out nowColor1);      //color follow the type
                cardOutView.Cost.color = nowColor2;
                break;

            case eCardType.ITEM:
                cardOutView.Cover.sprite       = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Item");
                cardOutView.Bg.sprite          = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Item");
                cardOutView.TypePicture.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Item");
                Color nowColor3 = Color.white;
                ColorUtility.TryParseHtmlString(CostColor[0], out nowColor3);      //color follow the type
                cardOutView.Cost.color = nowColor3;
                break;
            }
        }

        UpdateUsedNumver();
        view.SkillName.text = model.skillInfo.sa.SkillName;
        view.TotalOn.isOn   = model.skillInfo.isOn;
    }