public static SysSkillMainVo GetSkillData(string skillID, int level = -1, int skin = -1)
    {
        SysSkillMainVo    skillMainData    = BaseDataMgr.instance.GetSkillMainData(skillID);
        SysSkillLevelupVo skillLevelupData = SkillUtility.GetSkillLevelupData(skillID, level);
        SysSkillSkinVo    skillSkinData    = SkillUtility.GetSkillSkinData(skillID, skin);

        return(SkillUtility.GetSkillData(skillMainData, skillLevelupData, skillSkinData));
    }
Beispiel #2
0
        private void DealWithActiveSkill(string skillName)
        {
            int               num       = 0;
            string            text      = string.Empty;
            string            text2     = string.Empty;
            string            costID    = string.Empty;
            SysSkillDescVo    dataById  = BaseDataMgr.instance.GetDataById <SysSkillDescVo>(skillName + "_lv01");
            SysSkillLevelupVo dataById2 = BaseDataMgr.instance.GetDataById <SysSkillLevelupVo>(skillName + "_lv01");

            if (dataById != null)
            {
                if (dataById.coefficient.CompareTo("[]") != 0)
                {
                    costID = dataById.coefficient;
                }
            }
            int num2 = this.CheckType(costID);

            if (num2 == 0)
            {
                this.transMana.gameObject.SetActive(false);
            }
            else
            {
                this.typeRise.text  = ((num2 != 1) ? "法术加成" : "物理加成");
                this.manaCost.color = ((num2 != 1) ? this.magicDamage : this.physicDamage);
                text2 = this.CheckMana(costID);
                this.transMana.gameObject.SetActive(true);
            }
            if (dataById2 != null)
            {
                num = dataById2.skill_levelmax;
            }
            for (int num3 = 0; num3 != num; num3++)
            {
                dataById2 = BaseDataMgr.instance.GetDataById <SysSkillLevelupVo>(skillName + "_lv0" + (num3 + 1));
                text      = text + dataById2.cd + "/";
            }
            text = text.TrimEnd(new char[]
            {
                '/'
            });
            this.coolDown.text = text;
            this.manaCost.text = text2;
        }
    public static SysSkillMainVo GetSkillData(SysSkillMainVo mainVo, SysSkillLevelupVo levelupVo, SysSkillSkinVo skinVo)
    {
        if (mainVo == null)
        {
            return(null);
        }
        SysSkillMainVo result = SkillUtility.CopySkillData(ref mainVo);

        if (levelupVo != null)
        {
            SkillUtility.LevelUpImpact(ref result, ref levelupVo);
        }
        if (skinVo != null)
        {
            SkillUtility.SkinImpact(ref result, ref skinVo);
        }
        return(result);
    }
Beispiel #4
0
        public void Init(string skillName, int index)
        {
            this.order = index + 1;
            SysSkillLevelupVo dataById = BaseDataMgr.instance.GetDataById <SysSkillLevelupVo>(skillName + "_lv01");

            this.maxLevel = dataById.skill_levelmax;
            this.lv4.gameObject.SetActive(4 == this.maxLevel);
            for (int num = 0; num != this.maxLevel; num++)
            {
                SysSkillDescVo dataById2 = BaseDataMgr.instance.GetDataById <SysSkillDescVo>(skillName + "_lv0" + (num + 1));
                if (dataById2 != null)
                {
                    switch (this.order)
                    {
                    case 1:
                        this.damageName.text = LanguageManager.Instance.GetStringById(dataById2.effect_desc1);
                        this.Allocate(dataById2.effect_num1, num + 1);
                        break;

                    case 2:
                        this.damageName.text = LanguageManager.Instance.GetStringById(dataById2.effect_desc2);
                        this.Allocate(dataById2.effect_num2, num + 1);
                        break;

                    case 3:
                        this.damageName.text = LanguageManager.Instance.GetStringById(dataById2.effect_desc3);
                        this.Allocate(dataById2.effect_num3, num + 1);
                        break;

                    case 4:
                        this.damageName.text = LanguageManager.Instance.GetStringById(dataById2.effect_desc4);
                        this.Allocate(dataById2.effect_num4, num + 1);
                        break;

                    case 5:
                        this.damageName.text = LanguageManager.Instance.GetStringById(dataById2.effect_desc5);
                        this.Allocate(dataById2.effect_num5, num + 1);
                        break;
                    }
                }
            }
        }
        public void UpdateSkillStudy()
        {
            Units         player       = PlayerControlMgr.Instance.GetPlayer();
            SysHeroMainVo heroMainData = BaseDataMgr.instance.GetHeroMainData(player.npc_id);

            string[] heroSkills = heroMainData.skill_id.Split(new char[]
            {
                ','
            });
            GridHelper.FillGrid <SkillShowItem>(this.mSkillGird, this.mSkillItem, (heroSkills.Length <= 4) ? heroSkills.Length : 4, delegate(int idx, SkillShowItem comp)
            {
                SysSkillMainVo skillData = SkillUtility.GetSkillData(heroSkills[idx], -1, -1);
                Texture textue           = null;
                string type   = (skillData.skill_trigger != 3) ? "(主动)" : "(被动)";
                string unikey = skillData.skill_id + "_lv0" + ((player.getSkillById(skillData.skill_id).skillLevel != 0) ? player.getSkillById(skillData.skill_id).skillLevel : 1).ToString();
                SysSkillLevelupVo dataById = BaseDataMgr.instance.GetDataById <SysSkillLevelupVo>(unikey);
                comp.Init(textue, skillData.skill_name, type, SkillView.FixSkillTxtInfo(BaseDataMgr.instance.GetLanguageData(dataById.skill_description).content, player), !player.skillManager.IsSkillUnlock(skillData.skill_id), (dataById.cd / (1f + player.GetAttr(AttrType.NormalSkillCooling))).ToString("0.0"));
            });
            this.mSkillGird.Reposition();
        }
Beispiel #6
0
        private void ChangeSkillText(int index)
        {
            SysHeroMainVo heroMainData = BaseDataMgr.instance.GetHeroMainData(this.heroNPC);

            string[] AllSkillName = heroMainData.skill_id.Split(new char[]
            {
                ','
            });
            SysSkillMainVo skillData = SkillUtility.GetSkillData(AllSkillName[index - 1], -1, -1);

            this.skillName.text        = LanguageManager.Instance.GetStringById(skillData.skill_name);
            this.skillDescription.text = LanguageManager.Instance.GetStringById(skillData.skill_description);
            if (skillData.skill_trigger == 3)
            {
                this.activeSkill.gameObject.SetActive(false);
                this.passiveSkill.gameObject.SetActive(true);
                this.passiveSkill.text = LanguageManager.Instance.GetStringById("HeroAltar_Passive");
            }
            else
            {
                this.activeSkill.gameObject.SetActive(true);
                this.passiveSkill.gameObject.SetActive(false);
                this.DealWithActiveSkill(AllSkillName[index - 1]);
            }
            SysSkillDescVo    dataById  = BaseDataMgr.instance.GetDataById <SysSkillDescVo>(AllSkillName[index - 1] + "_lv01");
            SysSkillLevelupVo dataById2 = BaseDataMgr.instance.GetDataById <SysSkillLevelupVo>(AllSkillName[index - 1] + "_lv01");

            this.Lv4.gameObject.SetActive(4 == dataById2.skill_levelmax);
            for (int num = 0; num != this.skillEffectGrid.transform.childCount; num++)
            {
                this.skillEffectGrid.transform.GetChild(num).gameObject.SetActive(true);
            }
            GridHelper.FillGrid <PropViewSkillEffect>(this.skillEffectGrid, this.skillEffect, (dataById != null) ? dataById.effect_num : 0, delegate(int idx, PropViewSkillEffect comp)
            {
                comp.name = index.ToString();
                comp.Init(AllSkillName[index - 1], idx);
            });
            this.skillEffectGrid.Reposition();
        }
 private static void LevelUpImpact(ref SysSkillMainVo baseData, ref SysSkillLevelupVo levelupData)
 {
     if (!SkillUtility.CheckStringDefault(levelupData.skill_name))
     {
         baseData.skill_name = levelupData.skill_name;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.skill_description))
     {
         baseData.skill_description = levelupData.skill_description;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.skill_description2))
     {
         baseData.skill_description2 = levelupData.skill_description2;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.skill_description3))
     {
         baseData.skill_description3 = levelupData.skill_description3;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.skill_icon))
     {
         baseData.skill_icon = levelupData.skill_icon;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.skill_index))
     {
         baseData.skill_index = levelupData.skill_index;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.skill_type))
     {
         baseData.skill_type = levelupData.skill_type;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.skill_logic_type))
     {
         baseData.skill_logic_type = levelupData.skill_logic_type;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.skill_trigger))
     {
         baseData.skill_trigger = levelupData.skill_trigger;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.skill_prop))
     {
         baseData.skill_prop = levelupData.skill_prop;
     }
     if (!SkillUtility.CheckFloatDefault(levelupData.distance))
     {
         baseData.distance = levelupData.distance;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.target_type))
     {
         baseData.target_type = levelupData.target_type;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.effective_range))
     {
         baseData.effective_range = levelupData.effective_range;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.max_num))
     {
         baseData.max_num = levelupData.max_num;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.need_target))
     {
         baseData.need_target = levelupData.need_target;
     }
     if (!SkillUtility.CheckFloatDefault(levelupData.sing_time))
     {
         baseData.sing_time = levelupData.sing_time;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.guide_time))
     {
         baseData.guide_time = levelupData.guide_time;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.interrupt))
     {
         baseData.interrupt = levelupData.interrupt;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.cost))
     {
         baseData.cost = levelupData.cost;
     }
     if (!SkillUtility.CheckFloatDefault(levelupData.cost_upgrade))
     {
         baseData.cost_upgrade = levelupData.cost_upgrade;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.skill_phase))
     {
         baseData.skill_phase = levelupData.skill_phase;
     }
     if (!SkillUtility.CheckFloatDefault(levelupData.skill_interval))
     {
         baseData.skill_interval = levelupData.skill_interval;
     }
     if (!SkillUtility.CheckFloatDefault(levelupData.cd))
     {
         baseData.cd = levelupData.cd;
     }
     if (!SkillUtility.CheckFloatDefault(levelupData.cd_upgrade))
     {
         baseData.cd_upgrade = levelupData.cd_upgrade;
     }
     if (!SkillUtility.CheckFloatDefault(levelupData.hard_cd))
     {
         baseData.hard_cd = levelupData.hard_cd;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.skill_mutex))
     {
         baseData.skill_mutex = levelupData.skill_mutex;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.ready_action_ids))
     {
         baseData.ready_action_ids = levelupData.ready_action_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.start_action_ids))
     {
         baseData.start_action_ids = levelupData.start_action_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.hit_action_ids))
     {
         baseData.hit_action_ids = levelupData.hit_action_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.end_action_ids))
     {
         baseData.end_action_ids = levelupData.end_action_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.init_higheff_ids))
     {
         baseData.init_higheff_ids = levelupData.init_higheff_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.start_higheff_ids))
     {
         baseData.start_higheff_ids = levelupData.start_higheff_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.hit_higheff_ids))
     {
         baseData.hit_higheff_ids = levelupData.hit_higheff_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.start_buff_ids))
     {
         baseData.start_buff_ids = levelupData.start_buff_ids;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.hit_buff_ids))
     {
         baseData.hit_buff_ids = levelupData.hit_buff_ids;
     }
     if (!SkillUtility.CheckIntDefault(levelupData.hit_trigger_type))
     {
         baseData.hit_trigger_type = levelupData.hit_trigger_type;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.hit_time))
     {
         baseData.hit_time = levelupData.hit_time;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.damage_id))
     {
         baseData.damage_id = levelupData.damage_id;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.ConjureRangetype))
     {
         baseData.ConjureRangetype = levelupData.ConjureRangetype;
     }
     if (!SkillUtility.CheckStringDefault(levelupData.SkillExtraParam))
     {
         baseData.SkillExtraParam = levelupData.SkillExtraParam;
     }
 }