Пример #1
0
        void setskilltip(GameObject tip, summonskill skill)
        {
            SXML skillXml = XMLMgr.instance.GetSXML("skill.skill", "id==" + skill.skillid);

            tip.transform.FindChild("name").GetComponent <Text>().text = skillXml.getString("name") + skill.skilllv + ContMgr.getCont("ji");
            SXML curlvl = skillXml.GetNode("skill_att", "skill_lv==" + skill.skilllv);

            tip.transform.FindChild("des").GetComponent <Text>().text = curlvl.getString("descr2");
        }
Пример #2
0
        a3_BagItemData SetDataFromVariant(a3_BagItemData itemData, Variant item)
        {
            itemData.summondata.id         = item["id"];
            itemData.summondata.tpid       = item["tpid"];
            itemData.summondata.level      = item["level"];
            itemData.summondata.currentexp = item["exp"];
            if (item.ContainsKey("hp"))
            {
                itemData.summondata.currenthp = item["hp"];
            }
            itemData.summondata.lifespan = item["life"];
            itemData.summondata.power    = item["combpt"];
            //itemData.summondata.grade = item["quality"];
            //itemData.summondata.isSpecial = item["type"]==2;
            //itemData.summondata.naturaltype = item["speciality"];
            //itemData.summondata.blood = item["bloodline"];
            itemData.summondata.luck = item["luckly"];
            //itemData.summondata.talent_type = item["talent_type"];
            //itemData.summondata.skillNum = item["skill_num"];
            itemData.summondata.attNatural = item["att"];
            itemData.summondata.defNatural = item["def"];
            itemData.summondata.agiNatural = item["agi"];
            itemData.summondata.conNatural = item["con"];
            itemData.summondata.star       = item["talent"];
            if (item.ContainsKey("status"))
            {
                itemData.summondata.status = item["status"];
            }
            if (itemData.summondata.status > 0)
            {
                nowShowAttackID = (uint)itemData.summondata.id;
            }
            Variant atts = item["battleAttrs"];

            itemData.summondata.maxhp              = atts["max_hp"];
            itemData.summondata.max_attack         = atts["max_attack"];
            itemData.summondata.min_attack         = atts["min_attack"];
            itemData.summondata.physics_def        = atts["physics_def"];
            itemData.summondata.magic_def          = atts["magic_def"];
            itemData.summondata.physics_dmg_red    = atts["physics_dmg_red"];
            itemData.summondata.magic_dmg_red      = atts["magic_dmg_red"];
            itemData.summondata.double_damage_rate = atts["fatal_att"];
            itemData.summondata.reflect_crit_rate  = atts["fatal_dodge"];
            itemData.summondata.fatal_damage       = atts["fatal_damage"];
            itemData.summondata.hit   = atts["hit"];
            itemData.summondata.dodge = atts["dodge"];

            if (item.ContainsKey("skills"))
            {
                Variant sks = item["skills"];
                if (itemData.summondata.skills == null)
                {
                    itemData.summondata.skills = new Dictionary <int, summonskill>();
                }
                for (int i = 0; i < sks.Count; i++)
                {
                    //itemData.summondata.skills[sks[i]["index"]] = sks[i]["skill_id"];
                    summonskill skill = new summonskill();
                    skill.skillid = sks[i]["skill_id"];
                    skill.skilllv = sks[i]["skill_lvl"];
                    itemData.summondata.skills[sks[i]["skill_id"]] = skill;
                }
            }


            if (item.ContainsKey("link_ply"))
            {
                Variant link = item["link_ply"];
                if (itemData.summondata.linkdata == null)
                {
                    itemData.summondata.linkdata = new Dictionary <int, link_data>();
                }
                float Combpt = 0;
                for (int i = 0; i < link.Count; i++)
                {
                    link_data li = new link_data();
                    li.type       = link[i]["att_type"];
                    li.per        = link[i]["att_per"];
                    li.lock_state = link[i]["lock_state"];
                    itemData.summondata.linkdata[i] = li;

                    SXML x = XMLMgr.instance.GetSXML("calculate.combpt", "att_id==" + li.type);
                    if (x != null)
                    {
                        float attvalue = (int)Math.Ceiling((A3_SummonModel.getInstance().getAttValue(itemData.summondata, li.type) * ((float)li.per / 100.00f)));
                        Combpt += (attvalue * x.getFloat("sm_per")) / 10000;
                    }
                }
                itemData.summondata.linkCombpt = (int)Combpt;
            }
            if (item.ContainsKey("att_soul"))
            {
                Variant soul = item["att_soul"];
                if (itemData.summondata.shouhun == null)
                {
                    itemData.summondata.shouhun = new Dictionary <int, summonshouhun>();
                }


                for (int i = 0; i < soul.Count; i++)
                {
                    summonshouhun sh = new summonshouhun();
                    sh.soul_type = soul[i]["soul_type"];
                    sh.lvl       = soul[i]["soul_lvl"];
                    sh.exp       = soul[i]["soul_exp"];
                    itemData.summondata.shouhun[soul[i]["soul_type"]] = sh;
                }
            }

            if (item.ContainsKey("reset_talent") && item["reset_talent"].Count > 0)
            {
                Variant reset_talent = item["reset_talent"];
                itemData.summondata.haveReset = true;
                itemData.summondata.resetluck = reset_talent["luckly"];
                itemData.summondata.resetatt  = reset_talent["att"];
                itemData.summondata.resetdef  = reset_talent["def"];
                itemData.summondata.resetagi  = reset_talent["agi"];
                itemData.summondata.resetcon  = reset_talent["con"];
            }
            else
            {
                itemData.summondata.haveReset = false;
            }

            return(itemData);
        }
Пример #3
0
        void GetInfo(GameEvent e)
        {
            Variant data = e.data;

            tpid = data["summon"]["tpid"];
            // SXML xml = XMLMgr.instance.GetSXML("item.item", "id==" + tpid);
            this.transform.FindChild("fighting/value").GetComponent <Text>().text = data["summon"]["combpt"];

            //this.transform.FindChild("playerInfo/panel_attr/name").GetComponent<Text>().text = xml.getString("item_name");
            this.transform.FindChild("playerInfo/panel_attr/lv").GetComponent <Text>().text = "LV " + data["summon"]["level"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/longlife/Text").GetComponent<Text>().text = data["summon"]["life"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/luck/Text").GetComponent<Text>().text = data["summon"]["luckly"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/att/Text").GetComponent<Text>().text = data["summon"]["att"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/def/Text").GetComponent<Text>().text = data["summon"]["def"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/agi/Text").GetComponent<Text>().text = data["summon"]["agi"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/con/Text").GetComponent<Text>().text = data["summon"]["con"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/life/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["max_hp"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/phyatk/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["min_attack"]+"-" + data["summon"]["battleAttrs"]["max_attack"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/phydef/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["physics_def"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/manadef/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["magic_def"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/hit/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["physics_dmg_red"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/manaatk/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["magic_dmg_red"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/crit/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["fatal_att"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/dodge/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["dodge"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/fatal_damage/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["fatal_damage"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/hitit/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["hit"];
            //this.transform.FindChild("playerInfo/panel_attr/right/up/reflect_crit_rate/Text").GetComponent<Text>().text = data["summon"]["battleAttrs"]["fatal_dodge"];

            SXML sumXml = XMLMgr.instance.GetSXML("callbeast");
            SXML Sumxml = sumXml.GetNode("callbeast", "id==" + tpid);
            int  star   = data["summon"]["talent"];
            SXML attxml = Sumxml.GetNode("star", "star_sum==" + star);
            int  tpid_m = attxml.getInt("info_itm");
            SXML xml    = XMLMgr.instance.GetSXML("item.item", "id==" + tpid_m);

            this.transform.FindChild("playerInfo/panel_attr/name").GetComponent <Text>().text = xml.getString("item_name");
            this.transform.FindChild("playerInfo/panel_attr/info/gongji/value").GetComponent <Text>().text  = data["summon"]["att"] + "/" + attxml.GetNode("att").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/fangyu/value").GetComponent <Text>().text  = data["summon"]["def"] + "/" + attxml.GetNode("def").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/minjie/value").GetComponent <Text>().text  = data["summon"]["agi"] + "/" + attxml.GetNode("agi").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/tili/value").GetComponent <Text>().text    = data["summon"]["con"] + "/" + attxml.GetNode("con").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/xingyun/value").GetComponent <Text>().text = data["summon"]["luckly"] + "/" + 100;

            this.transform.FindChild("playerInfo/panel_attr/info/gongji/slider").GetComponent <Image>().fillAmount  = (float)data["summon"]["att"] / (float)attxml.GetNode("att").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/fangyu/slider").GetComponent <Image>().fillAmount  = (float)data["summon"]["def"] / (float)attxml.GetNode("def").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/minjie/slider").GetComponent <Image>().fillAmount  = (float)data["summon"]["agi"] / (float)attxml.GetNode("agi").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/tili/slider").GetComponent <Image>().fillAmount    = (float)data["summon"]["con"] / (float)attxml.GetNode("con").getInt("reset_max");
            this.transform.FindChild("playerInfo/panel_attr/info/xingyun/slider").GetComponent <Image>().fillAmount = (float)data["summon"]["luckly"] / (float)100;

            this.transform.FindChild("playerInfo/panel_attr/att/life/Text").GetComponent <Text>().text              = data["summon"]["battleAttrs"]["max_hp"];
            this.transform.FindChild("playerInfo/panel_attr/att/phyatk/Text").GetComponent <Text>().text            = data["summon"]["battleAttrs"]["min_attack"] + "-" + data["summon"]["battleAttrs"]["max_attack"];
            this.transform.FindChild("playerInfo/panel_attr/att/phydef/Text").GetComponent <Text>().text            = data["summon"]["battleAttrs"]["physics_def"];
            this.transform.FindChild("playerInfo/panel_attr/att/manadef/Text").GetComponent <Text>().text           = data["summon"]["battleAttrs"]["magic_def"];
            this.transform.FindChild("playerInfo/panel_attr/att/hit/Text").GetComponent <Text>().text               = (float)data["summon"]["battleAttrs"]["physics_dmg_red"] / 10 + "%";
            this.transform.FindChild("playerInfo/panel_attr/att/manaatk/Text").GetComponent <Text>().text           = (float)data["summon"]["battleAttrs"]["magic_dmg_red"] / 10 + "%";
            this.transform.FindChild("playerInfo/panel_attr/att/crit/Text").GetComponent <Text>().text              = data["summon"]["battleAttrs"]["fatal_att"];
            this.transform.FindChild("playerInfo/panel_attr/att/dodge/Text").GetComponent <Text>().text             = data["summon"]["battleAttrs"]["dodge"];
            this.transform.FindChild("playerInfo/panel_attr/att/fatal_damage/Text").GetComponent <Text>().text      = (float)data["summon"]["battleAttrs"]["fatal_damage"] / 10 + "%";
            this.transform.FindChild("playerInfo/panel_attr/att/hitit/Text").GetComponent <Text>().text             = data["summon"]["battleAttrs"]["hit"];
            this.transform.FindChild("playerInfo/panel_attr/att/reflect_crit_rate/Text").GetComponent <Text>().text = data["summon"]["battleAttrs"]["fatal_dodge"];



            createAvatar();
            setStar(data["summon"]["talent"]);
            //Dictionary<int, int> skills = new Dictionary<int, int>();
            //Variant sks = data["summon"]["skills"];
            //for (int i = 0; i < sks.Count; i++)
            //{
            //    skills[sks[i]["index"]] = sks[i]["skill_id"];
            //}
            //setSkills(data["summon"]["skill_num"], skills);
            if (data["summon"].ContainsKey("skills"))
            {
                Variant sks = data["summon"]["skills"];
                Dictionary <int, summonskill> skillDic = new Dictionary <int, summonskill>();
                for (int i = 0; i < sks.Count; i++)
                {
                    summonskill skill = new summonskill();
                    skill.skillid = sks[i]["skill_id"];
                    skill.skilllv = sks[i]["skill_lvl"];
                    skillDic[sks[i]["skill_id"]] = skill;
                }
                var SkillCon = this.transform.FindChild("skills");
                for (int i = 0; i < SkillCon.childCount; i++)
                {
                    SkillCon.GetChild(i).FindChild("icon/icon").gameObject.SetActive(false);
                    SkillCon.GetChild(i).FindChild("lock").gameObject.SetActive(true);
                }
                int idner = 1;
                foreach (summonskill skill in skillDic.Values)
                {
                    Transform skillCell = SkillCon.FindChild(idner.ToString());
                    skillCell.FindChild("icon/icon").gameObject.SetActive(true);
                    skillCell.FindChild("lock").gameObject.SetActive(false);
                    SXML xx = XMLMgr.instance.GetSXML("skill.skill", "id==" + skill.skillid);
                    skillCell.FindChild("icon/icon").GetComponent <Image>().sprite = GAMEAPI.ABUI_LoadSprite("icon_smskill_" + xx.getInt("icon"));
                    idner++;
                }
            }
        }