Example #1
0
        public static void GetSkillAllStatus(string statusup_skill, int awakeLvCap, int lv, ref BaseStatus add, ref BaseStatus scale)
        {
            SkillData skill = new SkillData();

            skill.Setup(statusup_skill, lv, awakeLvCap, (MasterParam)null);
            SkillData.GetPassiveBuffStatus(skill, (BuffEffect[])null, EElement.None, ref add, ref scale);
        }
        private void CreateCardSkillBonus(ConceptCardEffectsParam[] effect_params, int lv, int lv_cap, int awake_count_cap, bool is_enable)
        {
            if (Object.op_Equality((Object)this.mParamTemplate, (Object)null))
            {
                return;
            }
            Transform     parent     = this.mParamTemplate.get_transform().get_parent();
            List <string> stringList = new List <string>();

            for (int index1 = 0; index1 < effect_params.Length; ++index1)
            {
                if (!string.IsNullOrEmpty(effect_params[index1].card_skill))
                {
                    SkillParam skillParam = MonoSingleton <GameManager> .Instance.MasterParam.GetSkillParam(effect_params[index1].card_skill);

                    if (skillParam != null && !string.IsNullOrEmpty(effect_params[index1].add_card_skill_buff_lvmax) && !stringList.Contains(skillParam.iname))
                    {
                        BaseStatus status       = new BaseStatus();
                        BaseStatus scale_status = new BaseStatus();
                        SkillData  skill        = new SkillData();
                        skill.Setup(skillParam.iname, lv, lv_cap, (MasterParam)null);
                        SkillData.GetPassiveBuffStatus(skill, (BuffEffect[])null, EElement.None, ref status, ref scale_status);
                        BaseStatus total_add   = new BaseStatus();
                        BaseStatus total_scale = new BaseStatus();
                        effect_params[index1].GetAddCardSkillBuffStatusLvMax(lv, lv_cap, awake_count_cap, ref total_add, ref total_scale);
                        string     str1 = !Object.op_Inequality((Object)this.mParamStatusList, (Object)null) ? string.Empty : ((Object)this.mParamStatusList).get_name();
                        string     str2 = !Object.op_Inequality((Object)this.mBonusStatusList, (Object)null) ? string.Empty : ((Object)this.mBonusStatusList).get_name();
                        GameObject root = (GameObject)Object.Instantiate <GameObject>((M0)this.mParamTemplate);
                        root.get_transform().SetParent(parent, false);
                        StatusList[] componentsInChildren = (StatusList[])root.GetComponentsInChildren <StatusList>();
                        for (int index2 = 0; index2 < componentsInChildren.Length; ++index2)
                        {
                            if (((Object)componentsInChildren[index2]).get_name().StartsWith(str1))
                            {
                                componentsInChildren[index2].SetValues_Restrict(status, scale_status, total_add, total_scale, false);
                            }
                            else if (((Object)componentsInChildren[index2]).get_name().StartsWith(str2))
                            {
                                componentsInChildren[index2].SetValues_Restrict(status, scale_status, total_add, total_scale, true);
                            }
                        }
                        if (Object.op_Inequality((Object)this.mAwakeIconImageArray, (Object)null))
                        {
                            this.mAwakeIconImageArray.ImageIndex = this.mAwakeIconImageArray.Images.Length - 1;
                        }
                        DataSource.Bind <SkillParam>(root, skillParam);
                        DataSource.Bind <bool>(((Component)this).get_gameObject(), is_enable);
                        GameParameter.UpdateAll(root);
                        stringList.Add(skillParam.iname);
                        ++this.mCreatedCount;
                    }
                }
            }
            if (Object.op_Inequality((Object)this.mAwakeIconBgArray, (Object)null))
            {
                this.mAwakeIconBgArray.ImageIndex = !is_enable ? 1 : 0;
            }
            this.mParamTemplate.SetActive(false);
        }
Example #3
0
 public static void GetPassiveBuffStatus(SkillData skill, BuffEffect[] add_buff_effects, EElement element, ref BaseStatus status, ref BaseStatus scale_status)
 {
     SkillData.GetPassiveBuffStatus(skill, add_buff_effects, element, ref status, ref status, ref status, ref status, ref scale_status);
 }
 public void SetCardSkill(ConceptCardSkillDatailData data)
 {
     this.SwitchObject(true, this.mCardSkillObject, this.mCardAbilityObject);
     this.SwitchObject(data.type == ConceptCardDetailAbility.ShowType.Skill, this.mCardSkillNameObject, this.mCardAbilityNameObject);
     if (data.skill_data == null)
     {
         this.SetText(this.mCardAbilityDescription, string.Empty);
     }
     else
     {
         DataSource.Bind <AbilityData>(((Component)this).get_gameObject(), data.effect == null || data.effect.Ability == null ? (AbilityData)null : data.effect.Ability);
         DataSource.Bind <SkillData>(((Component)this).get_gameObject(), data.skill_data);
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.Append(data.skill_data.SkillParam.expr);
         this.SetText(this.mCardAbilityDescription, stringBuilder.ToString());
         if (Object.op_Inequality((Object)this.mCardSkillStatusList, (Object)null))
         {
             ((Component)this.mCardSkillStatusList).get_gameObject().SetActive(false);
         }
         if (data.skill_data.Condition == ESkillCondition.CardSkill && Object.op_Inequality((Object)this.mCardSkillStatusList, (Object)null) && data.skill_data != null)
         {
             ((Component)this.mCardSkillStatusList).get_gameObject().SetActive(true);
             BaseStatus status       = new BaseStatus();
             BaseStatus scale_status = new BaseStatus();
             BaseStatus baseStatus1  = new BaseStatus();
             BaseStatus baseStatus2  = new BaseStatus();
             SkillData.GetPassiveBuffStatus(data.skill_data, (BuffEffect[])null, EElement.None, ref status, ref scale_status);
             if (data.effect != null && data.effect.AddCardSkillBuffEffectAwake != null)
             {
                 BaseStatus total_add   = new BaseStatus();
                 BaseStatus total_scale = new BaseStatus();
                 data.effect.AddCardSkillBuffEffectAwake.GetBaseStatus(ref total_add, ref total_scale);
                 baseStatus1.Add(total_add);
                 baseStatus2.Add(total_scale);
             }
             if (data.effect != null && data.effect.AddCardSkillBuffEffectLvMax != null)
             {
                 BaseStatus total_add   = new BaseStatus();
                 BaseStatus total_scale = new BaseStatus();
                 data.effect.AddCardSkillBuffEffectLvMax.GetBaseStatus(ref total_add, ref total_scale);
                 baseStatus1.Add(total_add);
                 baseStatus2.Add(total_scale);
             }
             if (ConceptCardDescription.EnhanceInfo == null)
             {
                 this.mCardSkillStatusList.SetValues_TotalAndBonus(status, scale_status, status, scale_status, baseStatus1, baseStatus2, baseStatus1, baseStatus2);
             }
             else
             {
                 int        lvCap         = (int)ConceptCardDescription.EnhanceInfo.Target.LvCap;
                 int        predictLv     = ConceptCardDescription.EnhanceInfo.predictLv;
                 int        predictAwake  = ConceptCardDescription.EnhanceInfo.predictAwake;
                 int        awakeCountCap = ConceptCardDescription.EnhanceInfo.Target.AwakeCountCap;
                 BaseStatus add           = new BaseStatus();
                 BaseStatus scale         = new BaseStatus();
                 ConceptCardParam.GetSkillAllStatus(data.skill_data.SkillID, lvCap, predictLv, ref add, ref scale);
                 BaseStatus total_add1   = new BaseStatus();
                 BaseStatus total_scale1 = new BaseStatus();
                 data.effect.GetAddCardSkillBuffStatusAwake(predictAwake, awakeCountCap, ref total_add1, ref total_scale1);
                 BaseStatus total_add2   = new BaseStatus();
                 BaseStatus total_scale2 = new BaseStatus();
                 data.effect.GetAddCardSkillBuffStatusLvMax(predictLv, lvCap, predictAwake, ref total_add2, ref total_scale2);
                 BaseStatus modBonusAdd = new BaseStatus();
                 BaseStatus modBonusMul = new BaseStatus();
                 modBonusAdd.Add(total_add1);
                 modBonusAdd.Add(total_add2);
                 modBonusMul.Add(total_scale1);
                 modBonusMul.Add(total_scale2);
                 this.mCardSkillStatusList.SetValues_TotalAndBonus(status, scale_status, add, scale, baseStatus1, baseStatus2, modBonusAdd, modBonusMul);
             }
         }
         if (Object.op_Inequality((Object)this.mLock, (Object)null))
         {
             this.mLock.SetActive(data.type == ConceptCardDetailAbility.ShowType.LockSkill);
         }
         this.mShowData = data;
         GameParameter.UpdateAll(((Component)this).get_gameObject());
     }
 }