private int CreateDeriveAbilityContents(ViewAbilityData view_data) { List <ViewDeriveAbilityData> deriveAbilities = view_data.deriveAbilities; int num = 0; if (deriveAbilities != null) { for (int index = 0; index < deriveAbilities.Count; ++index) { if (deriveAbilities[index].is_enable) { ArtifactDetailAbilityItem detailAbilityItem = (ArtifactDetailAbilityItem)Object.Instantiate <ArtifactDetailAbilityItem>((M0)this.mDeriveTemplate); ((Component)detailAbilityItem).get_transform().SetParent(this.mDeriveParent.get_transform(), false); this.mAbilityItems.Add(detailAbilityItem); this.BindData(((Component)detailAbilityItem).get_gameObject(), deriveAbilities[index].ability, view_data.abilityDeriveParam); detailAbilityItem.Setup(deriveAbilities[index].ability, true, deriveAbilities[index].is_enable, false, false); ++num; } } } if (num <= 0) { this.mDeriveAbilityObject.SetActive(false); } return(num); }
private void CreateBaseAbilityContent(ViewAbilityData view_ability_data, bool has_derive_ability) { if (view_ability_data.baseAbility == null) { return; } this.BindData(((Component)this.mBaseAbilityItem).get_gameObject(), view_ability_data.baseAbility, view_ability_data.abilityDeriveParam); this.mBaseAbilityItem.Setup(view_ability_data.baseAbility, false, view_ability_data.isEnableBaseAbility, view_ability_data.isLockedBaseAbility, has_derive_ability); }
public void Init(ViewAbilityData view_ability_data) { if (view_ability_data == null || view_ability_data.baseAbility == null) { return; } bool has_derive_ability = this.CreateDeriveAbilityContents(view_ability_data) > 0; this.CreateBaseAbilityContent(view_ability_data, has_derive_ability); if (this.mAbilityItems.Count > 0) { this.mAbilityItems[this.mAbilityItems.Count - 1].DestoryLastLine(); } ((Component)this.mDeriveTemplate).get_gameObject().SetActive(false); }
private Dictionary <string, ViewAbilityData> CreateViewData(List <AbilityParam> artifact_all_abilities, List <AbilityData> weapon_abilities, List <AbilityDeriveParam> derive_params) { Dictionary <string, ViewAbilityData> dictionary = new Dictionary <string, ViewAbilityData>(); if (artifact_all_abilities != null) { for (int i = 0; i < artifact_all_abilities.Count; ++i) { if (!dictionary.ContainsKey(artifact_all_abilities[i].iname)) { bool is_enable = true; if (this.IsNeedCheck) { is_enable = artifact_all_abilities[i].CheckEnableUseAbility(this.mCurrentUnit, this.mCurrentUnit.JobIndex); } bool is_locked = false; if (this.IsNeedCheck && weapon_abilities != null && weapon_abilities.FindIndex((Predicate <AbilityData>)(abil_data => abil_data.Param.iname == artifact_all_abilities[i].iname)) <= -1) { is_locked = true; } ViewAbilityData viewAbilityData = new ViewAbilityData(); viewAbilityData.AddAbility(artifact_all_abilities[i], is_enable, is_locked); dictionary.Add(artifact_all_abilities[i].iname, viewAbilityData); } } } if (derive_params != null) { for (int index = 0; index < derive_params.Count; ++index) { string baseAbilityIname = derive_params[index].BaseAbilityIname; if (dictionary.ContainsKey(baseAbilityIname)) { bool is_enable = true; if (this.IsNeedCheck) { is_enable = MonoSingleton <GameManager> .Instance.MasterParam.GetAbilityParam(derive_params[index].DeriveAbilityIname).CheckEnableUseAbility(this.mCurrentUnit, this.mCurrentUnit.JobIndex); } dictionary[baseAbilityIname].AddAbility(baseAbilityIname, derive_params[index], derive_params[index].DeriveAbilityIname, is_enable); } } } return(dictionary); }