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); }
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()); } }