示例#1
0
        // 设置天赋数据
        public void SetData(SSchemeHeroTalentConfig talentConfig, bool bShowEffect = false, bool bShowPrizeDes = true)
        {
            BaseIcon.gameObject.SetActive(false);

            PrizeIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Skill, WndID.WND_ID_HERODETAIL, 1, talentConfig.nTalentIconId);

            string sTalentName = talentConfig.sTalentPrizeName;

            U3D_Render.Common.UBB.toHtml(ref sTalentName, UBB_FORMAT_TYPE.UGUI);
            PrizeDes.text = sTalentName;

            toolTip.SetText(UTooltipParamName.BodyText, talentConfig.sTalenDisableDescInStatic);

            PrizeDes.gameObject.SetActive(bShowPrizeDes);

            if (bShowEffect)
            {
                if (param != null)
                {
                    UEffectManager.Instance.DestroyEffect(UEffectType.UET_EffectPrefab, ref param);
                }
                param = new UEffectPrefabParam(_eType: UEffectPrefabType.UEPT_HeroDetailInfo_UpstarPrizeItem, _tfAttachParent: PrizeEffect.transform, _bAutoDestroy: false);
                UEffectManager.Instance.CreateEffect(UEffectType.UET_EffectPrefab, ref param);
            }

            this.gameObject.SetActive(true);
        }
        public void setTalentInfo(int nHeroID, int nTalentID)
        {
            SSchemeHeroTalentConfig talentConfig = HeroTalentConfigPage.Instance.GetHeroTalentConfig(nHeroID, nTalentID);

            if (talentConfig == null)
            {
                return;
            }

            m_sTalentDesc = talentConfig.sTalenDescInWar;
            m_sTalentName = talentConfig.sTalentName;

            int talentIconID = talentConfig.nTalentIconId;

            talentImage.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Skill, WndID.WND_ID_WAR_RECORDTABLE_FIGHTING, 1, talentIconID);
            talentImage.gameObject.SetActive(true);
        }
示例#3
0
        public void SetTalentLearnActive(int nTalentId, int nHeroId)
        {
            SSchemeHeroTalentConfig config = HeroTalentConfigPage.Instance.GetHeroTalentConfig(nHeroId, nTalentId);

            if (config == null)
            {
                return;
            }

            int nSlotId = config.nSlotId;

            if (IsOutOfSkillArray(nSlotId))
            {
                return;
            }

            this.skillItemArray[nSlotId].SetTalentLearnActive(config.sTalentName, config.sTalenDescInWar);
        }
示例#4
0
        private void InitShowDataInfo(int nHeroId)
        {
            if (LogicDataCenter.heroTalentDataManager.dicTalentInfoData == null || !LogicDataCenter.heroTalentDataManager.dicTalentInfoData.ContainsKey(nHeroId))
            {
                CloseMainHeroTalentView();
                return;
            }

            if (nHeroId <= 0)
            {
                return;
            }

            m_wndView.ClearHeroTalentData();
            HeroTalentConfigPage Instance = HeroTalentConfigPage.Instance;
            List <HeroTalentDataManager.HeroTalentInfo> listInfo = LogicDataCenter.heroTalentDataManager.dicTalentInfoData[nHeroId];
            Dictionary <int, int> dicTalentLevelRecord           = new Dictionary <int, int>();

            foreach (HeroTalentDataManager.HeroTalentInfo info in listInfo)
            {
                SSchemeHeroTalentConfig config = Instance.GetHeroTalentConfig(nHeroId, info.nTalentId);
                if (config == null)
                {
                    continue;
                }

                string sTalentDescInStatic = info.bActive ? config.sTalenActiveDescInStatic : config.sTalenDisableDescInStatic;
                int    nLevelLimit         = config.nLevelLimit;
                dicTalentLevelRecord[nLevelLimit] = 0;

                m_wndView.AddHeroTalentListData(info.nTalentId, info.bActive, config.nShowType, config.nTalentIconId, nLevelLimit, config.sTalentName, sTalentDescInStatic, config.sTalenDescInWar, config.nOnlyActive, config.nTalentTermId, config.nRecommandShow > 0);
            }

            CalculateWithLevelArray(dicTalentLevelRecord);

            m_wndView.SetHeroTalentListData();
        }
示例#5
0
        public void OnShowPrizePopupWnd(UPrizePopupData data)
        {
            if (data.nPrizeIdList == null)
            {
                return;
            }
            int nPrizeCount = data.nPrizeIdList.Count;

            // 动态改变UI大小
            //// 方案1水平排列
            //RectTransform rectParent = this.gameObject.transform as RectTransform;
            //RectTransform rectItem = PrizeTemplate.transform as RectTransform;
            //float fNeedWidth = (nPrizeCount + 1) * rectItem.sizeDelta.x;
            //Vector2 vecParentSize = rectParent.sizeDelta;
            //vecParentSize.x = Mathf.Max(500.0f, fNeedWidth);
            //rectParent.sizeDelta = vecParentSize;
            // 方案2竖直排列
            //RectTransform rectParent = this.gameObject.transform as RectTransform;
            //RectTransform rectItem = PrizeTemplate.transform as RectTransform;
            //Vector2 vecParentSize = rectParent.sizeDelta;
            //vecParentSize.y = ((nPrizeCount - 1) / 4 + 1) * rectItem.sizeDelta.y + 212;// 4个Item一行
            //rectParent.sizeDelta = vecParentSize;

            // 设置基础
            PrizeTitle.text       = data.strPrizeTitle;
            PrizeDescription.text = data.strPrizeDesc;
            PrizeDescription.gameObject.SetActive(!String.IsNullOrEmpty(data.strPrizeDesc));
            ConfirmBtnDesc.text = ULocalizationService.Instance.Get("UIView", "Common", "ConfirmBtn");

            // 设置奖励Item
            int nChildCount = PrizeFrame.childCount;

            for (int i = nChildCount - 1; i >= 0; i--)
            {
                Transform trans = PrizeFrame.GetChild(i);
                if (trans)
                {
                    var temp = trans.gameObject;
                    ResNode.DestroyRes(ref temp);
                }
            }

            // 普通奖励
            if (data.nPrizeIdList != null)
            {
                for (int i = 0; i < nPrizeCount && data.nPrizeIdList[i] > 0; i++)
                {
                    GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                    if (!prizeObj)
                    {
                        return;
                    }
                    RectTransform prizeRect = prizeObj.transform as RectTransform;
                    if (!prizeRect)
                    {
                        return;
                    }
                    prizeRect.SetParent(PrizeFrame, false);
                    LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                    if (!prizeItem)
                    {
                        return;
                    }
                    prizeItem.SetData(data.nPrizeIdList[i]);
                }
            }

            // 天赋奖励
            if (data.nTalentIDList != null)
            {
                int nHeroID = data.nHeroID;
                for (int j = 0; j < data.nTalentIDList.Count; ++j)
                {
                    GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                    if (!prizeObj)
                    {
                        return;
                    }
                    RectTransform prizeRect = prizeObj.transform as RectTransform;
                    if (!prizeRect)
                    {
                        return;
                    }
                    prizeRect.SetParent(PrizeFrame, false);
                    LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                    if (!prizeItem)
                    {
                        return;
                    }

                    int nTalentID = data.nTalentIDList[j];

                    SSchemeHeroTalentConfig talentConfig = HeroTalentConfigPage.Instance.GetHeroTalentConfig(nHeroID, nTalentID);
                    prizeItem.SetData(talentConfig);
                }
            }

            // 金币、经验奖励
            if (data.nMoneyCount > 0)
            {
                GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                if (!prizeObj)
                {
                    return;
                }
                RectTransform prizeRect = prizeObj.transform as RectTransform;
                if (!prizeRect)
                {
                    return;
                }
                prizeRect.SetParent(PrizeFrame, false);
                LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                if (!prizeItem)
                {
                    return;
                }
                prizeItem.SetData(data.nMoneyCount, ECupPrizeType.ECPT_Gold);
            }
            if (data.nExpCount > 0)
            {
                GameObject prizeObj = ResNode.InstantiateRes(PrizeTemplate);
                if (!prizeObj)
                {
                    return;
                }
                RectTransform prizeRect = prizeObj.transform as RectTransform;
                if (!prizeRect)
                {
                    return;
                }
                prizeRect.SetParent(PrizeFrame, false);
                LegendCupPrizeItem prizeItem = prizeObj.GetComponent <LegendCupPrizeItem>();
                if (!prizeItem)
                {
                    return;
                }
                prizeItem.SetData(data.nExpCount, ECupPrizeType.ECPT_Exp);
            }


            PrizeTemplate.SetActive(false);
        }