Example #1
0
        public void OnGenicImageClick(int index)
        {
            int nHeroID = arrayCollectGenic[index].nHeroID;

            if (nHeroID <= 0)
            {
                return;
            }

            SSchemePersonModelData heroData = new SSchemePersonModelData();

            if (PersonModelConfig.Instance.GetData_Out(nHeroID, out heroData) == false)
            {
                return;
            }

            string content = string.Format("是否进化为{0}英雄,进化后无法逆转", heroData.szHeroName);

            UBB.toHtml(ref content);
            TooltipAndDialog.UIDialogData data = new TooltipAndDialog.UIDialogData(
                title: "进化",
                message: content,
                buttons: new UIWidgets.DialogActions()
            {
                { "进化", () => OnEnvolveHero(index) }, { ULocalizationService.Instance.Get("UIView", "Common", "CancelBtn"), null }
            },
                modal: true,
                mutex: true
                );
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_DIALOG, data);
        }
Example #2
0
        /// <summary>
        /// 判断英雄类型标签
        /// </summary>
        /// <param name="_nHeroID"></param>
        /// <returns></returns>
        private bool IsUsedHeroType(int _nHeroID)
        {
            bool result = false;

            if (CurrentSelectHeroType != -1)
            {
                SSchemePersonModelData data = null;
                if (PersonModelConfig.instance.GetData_Out(_nHeroID, out data))
                {
                    result = data.nHeroType == CurrentSelectHeroType;
                }
            }
            else
            {
                result = true;
            }


            return(result);
        }
Example #3
0
        private void SetHeroToolTip(int heroID, int cultureID)
        {
            if (cultureArray == null || cultureArray.Length <= cultureID)
            {
                return;
            }

            UTooltipTrigger tipsTrigger = cultureArray[cultureID].heroTip;

            tipsTrigger.gameObject.GetComponent <Image>().enabled = true;
            StringBuilder          desc         = new StringBuilder();
            SSchemePersonModelData sPersonModel = null;

            if (PersonModelConfig.Instance.GetData_Out(heroID, out sPersonModel))
            {
                desc.Append(String.Format("[size=20]{0}[/size]\n", sPersonModel.szHeroName));
                desc.Append(String.Format("[size=16][color=#a5dbef]{0}[/color][/size]\n", sPersonModel.szHeroTitle));
            }

            ActorHeroDetailInfo heroInfo = LogicDataCenter.playerSystemDataManager.GetActorHeroDetail(heroID, eType: HeroDetailReqType.HDRT_LIFEHERO);

            if (heroInfo != null && heroInfo.heroDetailInfo.nHeroID > 0)
            {
                cmd_entity_hero_detail_info info = heroInfo.heroDetailInfo;
                desc.Append(String.Format("[size=16][color=#a5dbef]场次:{0}[/color][/size]\n", info.nGameCount));
                desc.Append(String.Format("[size=16][color=#a5dbef]胜率:{0}%[/color][/size]\n", info.usWinPro));
                desc.Append(String.Format("[size=16][color=#a5dbef]英雄评级:{0}[/color][/size]", info.nStar));

                cultureArray[cultureID].geneBtn.gameObject.SetActive(true);
                Text starLvDes = cultureArray[cultureID].starLevelDes;
                starLvDes.gameObject.SetActive(true);
                starLvDes.text = String.Format("{0}({1})", heroInfo.heroDetailInfo.chStarDesc, heroInfo.heroDetailInfo.nStar);
                starLvDes.GetComponent <UGradient>().enabled = false;
                starLvDes.GetComponent <Outline>().enabled   = true;
                if (heroInfo.heroDetailInfo.nStar > 0 && heroInfo.heroDetailInfo.nStar < 5)
                {
                    starLvDes.color = Color.white;
                }
                else if (heroInfo.heroDetailInfo.nStar < 10)
                {
                    starLvDes.color = new Color32(0x10, 0x9b, 0xfe, 0xff);
                }
                else if (heroInfo.heroDetailInfo.nStar < 20)
                {
                    starLvDes.color = new Color32(0xcc, 0x09, 0xce, 0xff);
                }
                else if (heroInfo.heroDetailInfo.nStar < 25)
                {
                    starLvDes.color = new Color32(0xd1, 0x8d, 0x5f, 0xff);
                }
                else if (heroInfo.heroDetailInfo.nStar < 30)
                {
                    starLvDes.color = new Color32(0xff, 0xf6, 0x4a, 0xff);
                }
                else
                {
                    starLvDes.color = new Color32(0xbc, 0x30, 0x00, 0xff);
                }
            }

            tipsTrigger.SetText(UTooltipParamName.BodyText, desc.ToString());
        }
Example #4
0
        private void ShowHeadPortrait(List <cmd_entity_hero_info> entityHeros)
        {
            if (entityHeros == null)
            {
                return;
            }

            HeroList.DataSource.Clear();
            UIWidgets.ObservableList <ULifeHeroItem> dataSource = new UIWidgets.ObservableList <ULifeHeroItem>();

            // 遍历已拥有的英雄加到表中
            foreach (cmd_entity_hero_info cmdInfo in entityHeros)
            {
                int nHeroID = cmdInfo.nHeroID;

                if (cmdInfo.nNeedCardCount == 0)
                {
                    continue;
                }

                SSchemePersonModelData sPersonModel = null;
                if (!PersonModelConfig.Instance.GetData_Out(nHeroID, out sPersonModel))
                {
                    continue;
                }

                ULifeHeroItem item = new ULifeHeroItem();
                item.nHeroID  = nHeroID;
                item.headIcon = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_PLAYERFRAME, 1, 9, nHeroID);
                if (item.headIcon == null)
                {
                    item.headIcon = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, WndID.WND_ID_PLAYERFRAME, 1, 9, 10);
                }
                item.stName    = cmdInfo.chHeroName;
                item.stTitle   = sPersonModel.szHeroTitle;
                item.nStarLv   = cmdInfo.byStarLv;
                item.bHaveHero = (cmdInfo.bIsBuy > 0);
                item.bWeekFree = (cmdInfo.bIsWeekFree > 0);

                int nStarLvLimit = GameLogicAPI.getHeroStarLvLimit(nHeroID);
                item.nStarLvLimit = nStarLvLimit;
                item.fExpValue    = (float)cmdInfo.nCardCount / (float)cmdInfo.nNeedCardCount;
                item.stStarExp    = cmdInfo.nCardCount.ToString() + (cmdInfo.byStarLv >= nStarLvLimit ? "" : "/" + cmdInfo.nNeedCardCount.ToString());
                int nGold     = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_GOLD);
                int nNeedGold = GameLogicAPI.getHeroUpgradeNeedGold(nHeroID, cmdInfo.byStarLv);
                //已购买、未满级、卡够、钱够
                item.bUpGrade = (cmdInfo.bIsBuy > 0 && cmdInfo.byStarLv < nStarLvLimit && item.fExpValue >= 1 && nGold >= nNeedGold);

                item.nUnlockLevel = GameLogicAPI.getUnlockLevel(nHeroID);
                item.bFpsHero     = GameLogicAPI.checkIsFpsHero(nHeroID);

                dataSource.Add(item);
            }

            HeroList.DataSource = dataSource;

            if (HeroList.DataSource.Count == 1)
            {
                HeroList.Select(0);
            }

            //增加监听点击头像的事件
            HeroList.OnSelect.RemoveAllListeners();
            HeroList.OnSelect.AddListener(ItemSelected);
        }