//选择英雄 public void SelectHero(Protomsg.CharacterBaseDatas hero) { SelectHeroMsg = hero; SaveDataManager.sData.SelectHeroTypeID = hero.Typeid; freshSelectHero(); }
public void initOpenHeros(Google.Protobuf.Collections.RepeatedField <Protomsg.CharacterBaseDatas> HaveHeros) { AllOpenHeros.Clear(); for (var i = 0; i < openherotypeids1.Length; i++) { var item = openherotypeids1[i]; //Debug.Log("--------11----openherotypeids1:" + item); bool has = false; foreach (var havehero in HaveHeros) { if (item == havehero.Typeid) { AllOpenHeros.Add(havehero); has = true; break; } } if (has == false) { var hero = new Protomsg.CharacterBaseDatas(); hero.Typeid = item; hero.Characterid = -1; hero.Name = ""; hero.Level = 1; AllOpenHeros.Add(hero); } } }
//刷新选择英雄界面 public void freshSelectHero() { var herolist = SelectLayer.GetChild("heros_list").asList; herolist.RemoveChildren(); foreach (var item in AllOpenHeros) { var heroinfo = ExcelManager.Instance.GetUnitInfoManager().GetUnitInfoByID(item.Typeid); if (heroinfo == null) { Debug.Log("no hero:" + item.Name); continue; } var heroiconcom = UIPackage.CreateObject("Package1", "HeroIcon").asCom; //Debug.Log("------------hero:" + heroinfo.IconPath); heroiconcom.GetChild("pic").asLoader.url = heroinfo.IconPath; heroiconcom.GetChild("pic").asLoader.onClick.Add(() => { AudioManager.Am.Play2DSound(AudioManager.Sound_Click); //选择 SelectHero(item); }); heroiconcom.GetChild("level").asTextField.text = item.Level + ""; if (item.Typeid == SaveDataManager.sData.SelectHeroTypeID) { SelectHeroMsg = item; heroiconcom.GetChild("select").asImage.visible = true; //显示选择的英雄信息 SelectLayer.GetChild("selectheroicon").asCom.GetChild("pic").asLoader.url = heroinfo.IconPath; SelectLayer.GetChild("selectheroicon").asCom.GetChild("level").asTextField.text = item.Level + ""; SelectLayer.GetChild("heroname").asTextField.text = heroinfo.HeroName; SelectLayer.GetChild("player_name").asTextField.text = item.Name; //主属性(1:力量 2:敏捷 3:智力) if (heroinfo.AttributePrimary == 1) { SelectLayer.GetChild("type_attribute").asTextField.text = "力量"; } else if (heroinfo.AttributePrimary == 2) { SelectLayer.GetChild("type_attribute").asTextField.text = "敏捷"; } else if (heroinfo.AttributePrimary == 3) { SelectLayer.GetChild("type_attribute").asTextField.text = "智力"; } SelectLayer.GetChild("attack_range").asTextField.text = heroinfo.Attack_Range; SelectLayer.GetChild("des").asTextField.text = heroinfo.Des; //技能 var skillcom = SelectLayer.GetChild("skill_list").asList; skillcom.RemoveChildren(0, -1, true); var skills_str = heroinfo.Skills_ID.Split(','); foreach (var skilltype in skills_str) { var clientitem = ExcelManager.Instance.GetSkillManager().GetSkillByID(int.Parse(skilltype)); if (clientitem != null) { var onedropitem = UIPackage.CreateObject("GameUI", "HeroInfo_Skill").asButton; onedropitem.icon = clientitem.IconPath; onedropitem.GetChild("level").asTextField.text = ""; onedropitem.onClick.Add(() => { //Debug.Log("onClick"); if (clientitem.TypeID != -1) { new SkillInfo(clientitem.TypeID); } }); skillcom.AddChild(onedropitem); } } } else { heroiconcom.GetChild("select").asImage.visible = false; } herolist.AddChild(heroiconcom); } }