コード例 #1
0
//		public void ClickMaterialHandler(Transform material){
//			int pos = combineMaterialRootTran.IndexOf(material)+1;
//			uint heroId = HeroCombineProxy.instance.GetHeroInstanceIDAt((CombinePosition)pos);
//			if(heroId != 0 )
//				HeroCombineProxy.instance.RemoveHeroFromCombineMaterial(heroId);
//		}

        public void ClickHeroCombine()
        {
            if (CanClickEnable())
            {
                return;
            }

            List <HeroInfo> materialList  = HeroCombineProxy.instance.GetMaterialHeroInfoList();
            List <int>      materialIds   = new List <int>();
            int             selectHeroNum = materialList.Count;

            if (selectHeroNum < 2)
            {
                ShowSingleTips("请放入两个以上材料");

                return;
            }
            int money              = text_coin.text.ToInt32();
            int star               = 0;
            int maxLevel           = 0;
            int maxStrengthenLevel = 0;

            for (int i = 0, count = materialList.Count; i < count; i++)
            {
                HeroInfo info = materialList[i];
                star = info.advanceLevel;
                if (info.level > maxLevel)
                {
                    maxLevel = info.level;
                }
                if (info.strengthenLevel > maxStrengthenLevel)
                {
                    maxStrengthenLevel = info.strengthenLevel;
                }
                materialIds.Add((int)info.instanceID);
            }
            HeroCombineNeedData needData = HeroCombineNeedData.GetHeroCombineNeedDataByStar(star);

            if (maxLevel < needData.level)
            {
                ShowSingleTips("使用的材料等级不足");
                return;
            }
            int gold = 0;

            GameProxy.instance.BaseResourceDictionary.TryGetValue(BaseResType.Gold, out gold);
            if (gold < money)
            {
                ShowSingleTips("金币不足");
                return;
            }
            if (maxStrengthenLevel > 1)
            {
                Debugger.Log("有英雄强化等级>1是否继续?");
            }
            //Debugger.Log("穿的装备有4星以上,是否继续?");


            Logic.Hero.Controller.HeroController.instance.CLIENT2LOBBY_HERO_COMPOSE_REQ(materialIds);
        }
コード例 #2
0
        private void RefreshNewHeroTips()
        {
            int _selectHeroNum = HeroCombineProxy.instance.CombineMaterialDictionary.Count;

            if (_selectHeroNum == 0)
            {
                text_star.gameObject.SetActive(false);
                text_not_choice.gameObject.SetActive(true);
                text_coin.text = "0";
            }
            else
            {
                text_not_choice.gameObject.SetActive(false);
                text_star.gameObject.SetActive(true);
                text_star.text = string.Format(Localization.Get("ui.hero_combine_view.text_star"), GetStartString(_selectHeroStar + 1));

                HeroCombineNeedData data = HeroCombineNeedData.GetHeroCombineNeedDataByStar(_selectHeroStar);
                text_star_rate_num.text = string.Format("{0}%", data.GetHeroCombineRate(_selectHeroNum));

                HeroCombineNeedData needData = HeroCombineNeedData.GetHeroCombineNeedDataByStar(_selectHeroStar);
                text_coin.text             = needData.gold.ToString();
                text_choice_same_star.text = string.Format(Localization.Get("ui.hero_combine_view.text_choice_same_star"), GetStartString(_selectHeroStar));
            }
        }