Esempio n. 1
0
    public void Init(CardInZhibo cardInfo, CardContainerLayout container)
    {
        rt             = (RectTransform)transform;
        anim           = GetComponent <Animator>();
        this.container = container;

        CardAsset ca = cardInfo.ca;

        this.isTmp = cardInfo.isTmp;

        BindView();
        RegisterEvent();
        view.TimeLeftComp.gameObject.SetActive(false);
        if (!cardInfo.ca.IsConsume)
        {
            view.TimeLeftComp.gameObject.SetActive(false);
        }
        else
        {
            view.TimeLeftComp.gameObject.SetActive(true);
            view.TimeLeft.text  = (int)cardInfo.UseLeft + "";
            view.TimeLeft.color = Color.black;
        }

        anim.ResetTrigger("Disappear");
        anim.Play("Normal");

        //初始化卡面
        view.Name.text = ca.CardName;
        view.Desp.text = ca.CardEffectDesp;



        nowDegree    = 20f;
        targetDegree = 20f;


        container.PutToInitPos(this);
        isBacking    = false;
        isDragging   = false;
        isDestroying = false;
        isHighlight  = false;
        PosDirty     = false;
        isInChain    = false;

        view.CardCG.alpha = 1f;

        nowValue = 0;
        view.CardFace.anchoredPosition = Vector2.zero;
        view.CardFace.localScale       = MinimizeScale;

        view.CardCG.blocksRaycasts = true;
        CancelHighLight();
    }
Esempio n. 2
0
    public void Init(CardInZhibo cardInfo, CardContainerLayout container)
    {
        rt             = (RectTransform)transform;
        anim           = GetComponent <Animator>();
        this.container = container;

        CardAsset ca = cardInfo.ca;

        this.isTmp = cardInfo.isTmp;

        BindView();
        RegisterEvent();
        view.TimeLeftComp.gameObject.SetActive(false);
        if (!cardInfo.ca.IsConsume)
        {
            view.TimeLeftComp.gameObject.SetActive(false);
        }
        else
        {
            view.TimeLeftComp.gameObject.SetActive(true);
            view.TimeLeft.text  = (int)cardInfo.UseLeft + "";
            view.TimeLeft.color = Color.black;
        }

        anim.ResetTrigger("Disappear");
        anim.Play("Normal");

        //初始化卡面
        view.Name.text     = ca.CardName;
        view.BackName.text = view.Name.text;

        view.NamePicture.sprite     = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardName/" + ca.CatdImageName);
        view.BackNamePicture.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardName/" + ca.CatdImageName);

        view.Desp.text     = ca.CardEffectDesp;
        view.BackDesp.text = ca.CardBackDesp;
        if (ca.cost == -1)
        {
            view.Cost.text     = "X";
            view.BackCost.text = "1";
        }
        else
        {
            view.Cost.text     = ca.cost + "";
            view.BackCost.text = ca.cost + "";
        }

        if (ca.CatdImageName == null || ca.CatdImageName == string.Empty)
        {
            view.Picture.sprite     = ca.Picture;
            view.BackPicture.sprite = ca.Picture;
        }
        else
        {
            view.Picture.sprite     = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardImage/" + ca.CatdImageName);
            view.BackPicture.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardImage/" + ca.CatdImageName);
        }

        //调整card外壳
        if (ca.CardType == eCardType.GENG)
        {
            view.PictureCover.sprite     = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Geng");
            view.BackPictureCover.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Geng");
            view.Background.sprite       = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Geng");
            view.BackBackground.sprite   = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Geng");
            view.TypePicture.sprite      = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Geng");
            view.BackTypePicture.sprite  = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Geng");
            Color nowColor = Color.white;
            ColorUtility.TryParseHtmlString(CostColor[2], out nowColor);  //color follow the type
            view.Cost.color     = nowColor;
            view.BackCost.color = nowColor;
        }
        else if (ca.CardType == eCardType.ABILITY)
        {
            view.PictureCover.sprite     = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Ability");
            view.BackPictureCover.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Ability");
            view.Background.sprite       = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Ability");
            view.BackBackground.sprite   = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Ability");
            view.TypePicture.sprite      = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Ability");
            view.BackTypePicture.sprite  = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Ability");
            Color nowColor = Color.white;
            ColorUtility.TryParseHtmlString(CostColor[1], out nowColor);  //color follow the type
            view.Cost.color     = nowColor;
            view.BackCost.color = nowColor;
        }
        else if (ca.CardType == eCardType.ITEM)
        {
            view.PictureCover.sprite     = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Item");
            view.BackPictureCover.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardCover/Item");
            view.Background.sprite       = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Item");
            view.BackBackground.sprite   = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardBackground/Item");
            view.TypePicture.sprite      = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Item");
            view.BackTypePicture.sprite  = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("CardType/Item");
            Color nowColor = Color.white;
            ColorUtility.TryParseHtmlString(CostColor[0], out nowColor);  //color follow the type
            view.Cost.color     = nowColor;
            view.BackCost.color = nowColor;
        }


        foreach (Transform child in view.GemContainer)
        {
            container.mResLoader.ReleaseGO("Zhibo/CardGem", child.gameObject);
        }

        view.CardGemList.Clear();

        for (int i = 0; i < cardInfo.OverrideGems.Length; i++)
        {
            if (cardInfo.OverrideGems[i] > 0)
            {
                GameObject  go = container.mResLoader.Instantiate("Zhibo/CardGem", view.GemContainer);
                CardGemView vv = new CardGemView();
                vv.BindView(go.transform);
                view.CardGemList.Add(vv);
                //vv.Icon.sprite = GameMain.GetInstance().GetModule<ResLoader>().LoadResource<Sprite>("Zhibo/Gems/" + i);
                vv.Icon.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("Zhibo/Gems_icon/" + "w_" + i);    //icon skin
                vv.Num.text    = cardInfo.OverrideGems[i] + "";
            }
        }


        foreach (Transform child in view.GemBackContainer)
        {
            container.mResLoader.ReleaseGO("Zhibo/CardGemBack", child.gameObject);
        }

        view.CardGemBackList.Clear();
        int types = 0;

        for (int i = 0; i < cardInfo.OverrideGems.Length; i++)
        {
            if (cardInfo.OverrideGems[i] > 0)
            {
                GameObject      go = container.mResLoader.Instantiate("Zhibo/CardGemBack", view.GemBackContainer);
                CardGemBackView vv = new CardGemBackView();
                vv.BindView(go.transform);
                view.CardGemBackList.Add(vv);
                //vv.Icon.sprite = GameMain.GetInstance().GetModule<ResLoader>().LoadResource<Sprite>("Zhibo/Gems/" + i);
                vv.Icon.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("Zhibo/Gems_icon/" + "w_" + i);    //icon skin
                vv.Num.text    = cardInfo.OverrideGems[i] + "";
                types++;
            }
        }
        int offset = 0;

        if (types > 1)
        {
            offset = 100 / (types - 1);
        }
        for (int i = 0; i < view.CardGemBackList.Count; i++)
        {
            //view.CardGemBackList[i].Content.localPosition = new Vector3(i * offset, 0, 0);
        }

        foreach (Transform child in view.GemsIncludeContainer)
        {
            container.mResLoader.ReleaseGO("Zhibo/CardGemSingleIcon", child.gameObject);
        }

        view.CardGemSingleIconList.Clear();
        for (int i = 0; i < cardInfo.OverrideGems.Length; i++)
        {
            if (cardInfo.OverrideGems[i] > 0)
            {
                GameObject            go = container.mResLoader.Instantiate("Zhibo/CardGemSingleIcon", view.GemsIncludeContainer);
                CardGemSingleIconView vv = new CardGemSingleIconView();
                vv.BindView(go.transform);
                view.CardGemSingleIconList.Add(vv);
                vv.Icon.sprite = GameMain.GetInstance().GetModule <ResLoader>().LoadResource <Sprite>("Zhibo/Gems_icon/" + "w_" + i);    //icon skin
                types++;
            }
        }

        nowDegree    = 20f;
        targetDegree = 20f;


        container.PutToInitPos(this);
        isBacking    = false;
        isDragging   = false;
        isDestroying = false;
        isHighlight  = false;
        PosDirty     = false;
        isInChain    = false;

        view.CardCG.alpha = 1f;

        nowValue = 0;
        view.CardRoot.anchoredPosition = Vector2.zero;
        view.CardRoot.localScale       = MinimizeScale;

        view.CardCG.blocksRaycasts = true;
        CancelHighLight();

        transform.localEulerAngles = Vector3.zero;
        isFaceUp  = false;
        IsFanmian = false;
        //TurnToFace();
        Reset();
    }