Beispiel #1
0
    //选择英雄
    public void SelectHero(Protomsg.CharacterBaseDatas hero)
    {
        SelectHeroMsg = hero;
        SaveDataManager.sData.SelectHeroTypeID = hero.Typeid;

        freshSelectHero();
    }
Beispiel #2
0
    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);
            }
        }
    }
Beispiel #3
0
    //刷新选择英雄界面
    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);
        }
    }