public void Refresh() { if (Object.op_Equality((Object)this.ListBody, (Object)null)) { return; } UnitData unitData = this.UnitData == null ? MonoSingleton <GameManager> .Instance.Player.FindUnitDataByUniqueID((long)GlobalVars.SelectedUnitUniqueID) : this.UnitData; if (unitData == null) { return; } this.ListBody.Unit = unitData; this.ListBody.OnAbilitySelect = new UnitAbilityList.AbilityEvent(this._OnAbilitySelect); this.ListBody.OnAbilityRankUp = new UnitAbilityList.AbilityEvent(this._OnAbilityRankUp); int index = this.AbilitySlot < 0 ? (int)GlobalVars.SelectedAbilitySlot : this.AbilitySlot; EAbilitySlot slotType = JobData.ABILITY_SLOT_TYPES[index]; this.ListBody.ShowFixedAbilities = index == 0; this.ListBody.DisplaySlotType(slotType, true); if (Object.op_Inequality((Object)this.ClearButton, (Object)null)) { if (!this.AlwaysShowClearButton) { ((Component)this.ClearButton).get_gameObject().SetActive(unitData.CurrentJob.AbilitySlots[index] != 0L); } else { ((Component)this.ClearButton).get_gameObject().SetActive(true); } } if (Object.op_Inequality((Object)this.NoAbilityMessage, (Object)null)) { this.NoAbilityMessage.SetActive(this.ListBody.IsEmpty); } if (!Object.op_Inequality((Object)this.YajirushiSlider, (Object)null)) { return; } this.YajirushiSlider.set_value((float)index / 5f * this.YajirushiSlider.get_maxValue() + this.YajirushiSlider.get_minValue()); }
public bool Deserialize(JSON_AbilityParam json) { if (json == null) { return(false); } this.iname = json.iname; this.name = json.name; this.expr = json.expr; this.icon = json.icon; this.type = (EAbilityType)json.type; this.slot = (EAbilitySlot)json.slot; this.lvcap = (OInt)Math.Max(json.cap, 1); this.is_fixed = json.fix != 0; int length = 0; string[] strArray = new string[10] { json.skl1, json.skl2, json.skl3, json.skl4, json.skl5, json.skl6, json.skl7, json.skl8, json.skl9, json.skl10 }; for (int index = 0; index < strArray.Length && !string.IsNullOrEmpty(strArray[index]); ++index) { ++length; } if (length > 0) { int[] numArray = new int[10] { json.lv1, json.lv2, json.lv3, json.lv4, json.lv5, json.lv6, json.lv7, json.lv8, json.lv9, json.lv10 }; this.skills = new LearningSkill[length]; for (int index = 0; index < length; ++index) { this.skills[index] = new LearningSkill(); this.skills[index].iname = strArray[index]; this.skills[index].locklv = numArray[index]; } } this.condition_units = (string[])null; if (json.units != null && json.units.Length > 0) { this.condition_units = new string[json.units.Length]; for (int index = 0; index < json.units.Length; ++index) { this.condition_units[index] = json.units[index]; } } this.condition_jobs = (string[])null; if (json.jobs != null && json.jobs.Length > 0) { this.condition_jobs = new string[json.jobs.Length]; for (int index = 0; index < json.jobs.Length; ++index) { this.condition_jobs[index] = json.jobs[index]; } } this.condition_birth = json.birth; this.condition_sex = (ESex)json.sex; this.condition_element = (EElement)json.elem; this.condition_raremin = (OInt)json.rmin; this.condition_raremax = (OInt)json.rmax; return(true); }
public void DisplaySlotType(EAbilitySlot slotType, bool hideEquipped = false, bool showDerivedAbility = false) { this.mLastDisplayMode = UnitAbilityList.RefreshTypes.DisplayAll; this.mLastDisplaySlot = slotType; for (int index = 0; index < this.mItems.Count; ++index) { UnityEngine.Object.Destroy((UnityEngine.Object)((Component)this.mItems[index]).get_gameObject()); } this.mItems.Clear(); if (this.Unit == null) { this.Unit = DataSource.FindDataOfClass <UnitData>(((Component)this).get_gameObject(), (UnitData)null); } if (this.Unit == null) { return; } List <AbilityData> abilityDataList = !showDerivedAbility?this.Unit.GetAllLearnedAbilities(false) : this.Unit.GetAllLearnedAbilities(true); Transform transform = ((Component)this).get_transform(); if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Item_Normal, (UnityEngine.Object)null)) { for (int index1 = 0; index1 < abilityDataList.Count; ++index1) { AbilityData abilityData = abilityDataList[index1]; if ((slotType == ~EAbilitySlot.Action || slotType == abilityData.SlotType) && (this.ShowFixedAbilities || !abilityData.Param.is_fixed) && (this.ShowMasterAbilities || !(this.Unit.UnitParam.ability == abilityData.AbilityID) && !this.Unit.IsQuestClearUnlocked(abilityData.Param.iname, QuestClearUnlockUnitDataParam.EUnlockTypes.MasterAbility)) && (this.Unit.MapEffectAbility != abilityData && (this.ShowMasterAbilities || !this.Unit.TobiraMasterAbilitys.Contains(abilityData))) && (!abilityData.IsDerivedAbility || (this.ShowFixedAbilities || !abilityData.DeriveBaseAbility.Param.is_fixed) && (this.ShowMasterAbilities || !(this.Unit.UnitParam.ability == abilityData.DeriveBaseAbility.AbilityID) && !this.Unit.IsQuestClearUnlocked(abilityData.DeriveBaseAbility.Param.iname, QuestClearUnlockUnitDataParam.EUnlockTypes.MasterAbility)) && (this.Unit.MapEffectAbility != abilityData.DeriveBaseAbility && (this.ShowMasterAbilities || !this.Unit.TobiraMasterAbilitys.Contains(abilityData.DeriveBaseAbility))))) { if (hideEquipped) { bool flag = false; for (int index2 = 0; index2 < this.Unit.CurrentJob.AbilitySlots.Length; ++index2) { if (this.Unit.CurrentJob.AbilitySlots[index2] == abilityData.UniqueID) { flag = true; break; } } if (flag) { continue; } } UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)UnityEngine.Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_Normal); this.mItems.Add(abilityListItemEvents); ((Component)abilityListItemEvents).get_transform().SetParent(transform, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); AbilityDeriveList component = (AbilityDeriveList)((Component)abilityListItemEvents).get_gameObject().GetComponent <AbilityDeriveList>(); if (UnityEngine.Object.op_Equality((UnityEngine.Object)component, (UnityEngine.Object)null)) { DataSource.Bind <AbilityData>(((Component)abilityListItemEvents).get_gameObject(), abilityData); abilityListItemEvents.OnSelect = new ListItemEvents.ListItemEvent(this._OnAbilitySelect); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); JobData job; int rank; if (this.GetAbilitySource(abilityData.AbilityID, out job, out rank)) { DataSource.Bind <AbilityUnlockInfo>(((Component)abilityListItemEvents).get_gameObject(), new AbilityUnlockInfo() { JobName = job.Name, Rank = rank }); } } else if (abilityData.IsDerivedAbility) { component.SetupWithAbilityData(abilityData.DeriveBaseAbility, new List <AbilityData>() { abilityData }); // ISSUE: method pointer component.AddDetailOpenEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnAbilityDetail))); // ISSUE: method pointer component.AddSelectEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnAbilitySelect))); // ISSUE: method pointer component.AddRankUpEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnAbilityRankUp))); // ISSUE: method pointer component.AddRankUpBtnPressEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnRankUpBtnPress))); // ISSUE: method pointer component.AddRankUpBtnUpEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnRankUpBtnUp))); } else { component.SetupWithAbilityData(abilityData, (List <AbilityData>)null); // ISSUE: method pointer component.AddDetailOpenEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnAbilityDetail))); // ISSUE: method pointer component.AddSelectEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnAbilitySelect))); // ISSUE: method pointer component.AddRankUpEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnAbilityRankUp))); // ISSUE: method pointer component.AddRankUpBtnPressEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnRankUpBtnPress))); // ISSUE: method pointer component.AddRankUpBtnUpEventListener(new UnityAction <GameObject>((object)this, __methodptr(_OnRankUpBtnUp))); } } } } if (slotType != ~EAbilitySlot.Action && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Item_SlotMismatch, (UnityEngine.Object)null)) { for (int index = 0; index < abilityDataList.Count; ++index) { AbilityData data = abilityDataList[index]; if (slotType != data.SlotType && (this.ShowFixedAbilities || !data.Param.is_fixed) && (this.ShowMasterAbilities || !(this.Unit.UnitParam.ability == data.AbilityID) && !this.Unit.IsQuestClearUnlocked(data.Param.iname, QuestClearUnlockUnitDataParam.EUnlockTypes.MasterAbility)) && (this.Unit.MapEffectAbility != data && (this.ShowMasterAbilities || !this.Unit.TobiraMasterAbilitys.Contains(data)))) { UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)UnityEngine.Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_SlotMismatch); this.mItems.Add(abilityListItemEvents); DataSource.Bind <AbilityData>(((Component)abilityListItemEvents).get_gameObject(), data); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); ((Component)abilityListItemEvents).get_transform().SetParent(transform, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); JobData job; int rank; if (this.GetAbilitySource(data.AbilityID, out job, out rank)) { DataSource.Bind <AbilityUnlockInfo>(((Component)abilityListItemEvents).get_gameObject(), new AbilityUnlockInfo() { JobName = job.Name, Rank = rank }); } } } } List <string> overwrittenAbilitys = TobiraUtility.GetOverwrittenAbilitys(this.Unit); if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Item_Locked, (UnityEngine.Object)null)) { GameManager instanceDirect = MonoSingleton <GameManager> .GetInstanceDirect(); for (int index1 = 0; index1 < this.Unit.Jobs.Length; ++index1) { if (this.ShowLockedJobAbilities || this.Unit.Jobs[index1].Rank > 0) { RarityParam rarityParam = instanceDirect.GetRarityParam((int)this.Unit.UnitParam.raremax); for (int lv = this.Unit.Jobs[index1].Rank + 1; lv <= JobParam.MAX_JOB_RANK; ++lv) { OString[] learningAbilitys = this.Unit.Jobs[index1].Param.GetLearningAbilitys(lv); if (learningAbilitys != null && (int)rarityParam.UnitJobLvCap >= lv) { for (int index2 = 0; index2 < learningAbilitys.Length; ++index2) { string key = (string)learningAbilitys[index2]; if (!string.IsNullOrEmpty(key)) { AbilityParam abilityParam = instanceDirect.GetAbilityParam(key); if ((this.ShowFixedAbilities || !abilityParam.is_fixed) && !overwrittenAbilitys.Contains(abilityParam.iname)) { UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)UnityEngine.Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_Locked); this.mItems.Add(abilityListItemEvents); DataSource.Bind <AbilityParam>(((Component)abilityListItemEvents).get_gameObject(), abilityParam); abilityListItemEvents.OnSelect = new ListItemEvents.ListItemEvent(this._OnAbilitySelect); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); ((Component)abilityListItemEvents).get_transform().SetParent(transform, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); DataSource.Bind <AbilityUnlockInfo>(((Component)abilityListItemEvents).get_gameObject(), new AbilityUnlockInfo() { JobName = this.Unit.Jobs[index1].Name, Rank = lv }); } } } } } } } if (this.ShowMasterAbilities && !string.IsNullOrEmpty(this.Unit.UnitParam.ability) && (this.Unit.LearnAbilitys.Find((Predicate <AbilityData>)(p => p.AbilityID == this.Unit.UnitParam.ability)) == null && !overwrittenAbilitys.Exists((Predicate <string>)(abil => abil == this.Unit.UnitParam.ability)))) { AbilityParam abilityParam = instanceDirect.GetAbilityParam(this.Unit.UnitParam.ability); UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)UnityEngine.Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_Locked); this.mItems.Add(abilityListItemEvents); DataSource.Bind <AbilityParam>(((Component)abilityListItemEvents).get_gameObject(), abilityParam); abilityListItemEvents.OnSelect = new ListItemEvents.ListItemEvent(this._OnAbilitySelect); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); ((Component)abilityListItemEvents).get_transform().SetParent(transform, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); } } this.ResetScrollPos(); }
public void DisplaySlotType(EAbilitySlot slotType, bool hideEquipped = false) { this.mLastDisplayMode = UnitAbilityList.RefreshTypes.DisplayAll; this.mLastDisplaySlot = slotType; for (int index = 0; index < this.mItems.Count; ++index) { Object.Destroy((Object)((Component)this.mItems[index]).get_gameObject()); } this.mItems.Clear(); if (this.Unit == null) { this.Unit = DataSource.FindDataOfClass <UnitData>(((Component)this).get_gameObject(), (UnitData)null); } if (this.Unit == null) { return; } List <AbilityData> learnedAbilities = this.Unit.GetAllLearnedAbilities(); Transform transform1 = ((Component)this).get_transform(); bool flag1 = false; GameManager instance = MonoSingleton <GameManager> .Instance; if ((instance.Player.TutorialFlags & 1L) == 0L && instance.GetNextTutorialStep() == "ShowAbilityTab") { instance.CompleteTutorialStep(); if (instance.GetNextTutorialStep() == "ShowAbilityLvUp") { flag1 = true; } } if (Object.op_Inequality((Object)this.Item_Normal, (Object)null)) { for (int index1 = 0; index1 < learnedAbilities.Count; ++index1) { AbilityData data = learnedAbilities[index1]; if ((slotType == ~EAbilitySlot.Action || slotType == data.SlotType) && (this.ShowFixedAbilities || !data.Param.is_fixed) && (this.ShowMasterAbilities || !((string)this.Unit.UnitParam.ability == data.AbilityID) && !this.Unit.IsQuestClearUnlocked(data.Param.iname, QuestClearUnlockUnitDataParam.EUnlockTypes.MasterAbility))) { if (hideEquipped) { bool flag2 = false; for (int index2 = 0; index2 < this.Unit.CurrentJob.AbilitySlots.Length; ++index2) { if (this.Unit.CurrentJob.AbilitySlots[index2] == data.UniqueID) { flag2 = true; break; } } if (flag2) { continue; } } UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_Normal); this.mItems.Add(abilityListItemEvents); DataSource.Bind <AbilityData>(((Component)abilityListItemEvents).get_gameObject(), data); abilityListItemEvents.OnSelect = new ListItemEvents.ListItemEvent(this._OnAbilitySelect); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); ((Component)abilityListItemEvents).get_transform().SetParent(transform1, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); JobData job; int rank; if (this.GetAbilitySource(data.AbilityID, out job, out rank)) { DataSource.Bind <AbilityUnlockInfo>(((Component)abilityListItemEvents).get_gameObject(), new AbilityUnlockInfo() { JobName = job.Name, Rank = rank }); } if (flag1 && index1 == 0) { SGHighlightObject.Instance().highlightedObject = ((Component)abilityListItemEvents.RankupButton).get_gameObject(); SGHighlightObject.Instance().Highlight(string.Empty, "sg_tut_1.023", (SGHighlightObject.OnActivateCallback)null, EventDialogBubble.Anchors.TopLeft, true, false, false); } } } } if (slotType != ~EAbilitySlot.Action && Object.op_Inequality((Object)this.Item_SlotMismatch, (Object)null)) { for (int index = 0; index < learnedAbilities.Count; ++index) { AbilityData data = learnedAbilities[index]; if (slotType != data.SlotType && (this.ShowFixedAbilities || !data.Param.is_fixed) && (this.ShowMasterAbilities || !((string)this.Unit.UnitParam.ability == data.AbilityID) && !this.Unit.IsQuestClearUnlocked(data.Param.iname, QuestClearUnlockUnitDataParam.EUnlockTypes.MasterAbility))) { UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_SlotMismatch); this.mItems.Add(abilityListItemEvents); DataSource.Bind <AbilityData>(((Component)abilityListItemEvents).get_gameObject(), data); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); ((Component)abilityListItemEvents).get_transform().SetParent(transform1, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); JobData job; int rank; if (this.GetAbilitySource(data.AbilityID, out job, out rank)) { DataSource.Bind <AbilityUnlockInfo>(((Component)abilityListItemEvents).get_gameObject(), new AbilityUnlockInfo() { JobName = job.Name, Rank = rank }); } } } } if (Object.op_Inequality((Object)this.Item_Locked, (Object)null)) { GameManager instanceDirect = MonoSingleton <GameManager> .GetInstanceDirect(); for (int index1 = 0; index1 < this.Unit.Jobs.Length; ++index1) { if (this.ShowLockedJobAbilities || this.Unit.Jobs[index1].Rank > 0) { RarityParam rarityParam = instanceDirect.GetRarityParam((int)this.Unit.UnitParam.raremax); for (int lv = this.Unit.Jobs[index1].Rank + 1; lv < JobParam.MAX_JOB_RANK; ++lv) { OString[] learningAbilitys = this.Unit.Jobs[index1].Param.GetLearningAbilitys(lv); if (learningAbilitys != null && (int)rarityParam.UnitJobLvCap >= lv) { for (int index2 = 0; index2 < learningAbilitys.Length; ++index2) { string key = (string)learningAbilitys[index2]; if (!string.IsNullOrEmpty(key)) { AbilityParam abilityParam = instanceDirect.GetAbilityParam(key); if (this.ShowFixedAbilities || !abilityParam.is_fixed) { UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_Locked); this.mItems.Add(abilityListItemEvents); DataSource.Bind <AbilityParam>(((Component)abilityListItemEvents).get_gameObject(), abilityParam); abilityListItemEvents.OnSelect = new ListItemEvents.ListItemEvent(this._OnAbilitySelect); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); ((Component)abilityListItemEvents).get_transform().SetParent(transform1, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); DataSource.Bind <AbilityUnlockInfo>(((Component)abilityListItemEvents).get_gameObject(), new AbilityUnlockInfo() { JobName = this.Unit.Jobs[index1].Name, Rank = lv }); } } } } } } } if (this.ShowMasterAbilities && !string.IsNullOrEmpty((string)this.Unit.UnitParam.ability) && this.Unit.LearnAbilitys.Find((Predicate <AbilityData>)(p => p.AbilityID == (string)this.Unit.UnitParam.ability)) == null) { AbilityParam abilityParam = instanceDirect.GetAbilityParam((string)this.Unit.UnitParam.ability); UnitAbilityListItemEvents abilityListItemEvents = (UnitAbilityListItemEvents)Object.Instantiate <UnitAbilityListItemEvents>((M0)this.Item_Locked); this.mItems.Add(abilityListItemEvents); DataSource.Bind <AbilityParam>(((Component)abilityListItemEvents).get_gameObject(), abilityParam); abilityListItemEvents.OnSelect = new ListItemEvents.ListItemEvent(this._OnAbilitySelect); abilityListItemEvents.OnRankUp = new ListItemEvents.ListItemEvent(this._OnAbilityRankUp); abilityListItemEvents.OnOpenDetail = new ListItemEvents.ListItemEvent(this._OnAbilityDetail); abilityListItemEvents.OnRankUpBtnPress = new ListItemEvents.ListItemEvent(this._OnRankUpBtnPress); abilityListItemEvents.OnRankUpBtnUp = new ListItemEvents.ListItemEvent(this._OnRankUpBtnUp); ((Component)abilityListItemEvents).get_transform().SetParent(transform1, false); ((Component)abilityListItemEvents).get_gameObject().SetActive(true); } } if (Object.op_Inequality((Object)this.ScrollParent, (Object)null)) { this.mDecelerationRate = this.ScrollParent.get_decelerationRate(); this.ScrollParent.set_decelerationRate(0.0f); } RectTransform transform2 = ((Component)this).get_transform() as RectTransform; transform2.set_anchoredPosition(new Vector2((float)transform2.get_anchoredPosition().x, 0.0f)); this.StartCoroutine(this.RefreshScrollRect()); }