private FollowerListItem InsertFollowerIntoListView(JamGarrisonFollower follower) { GarrFollowerRec record = StaticDB.garrFollowerDB.GetRecord(follower.GarrFollowerID); if (record == null) { return(null); } if (record.GarrFollowerTypeID != 4u) { return(null); } if (this.m_isCombatAllyList) { bool flag = (follower.Flags & 8) != 0; FollowerStatus followerStatus = GeneralHelpers.GetFollowerStatus(follower); if (flag || follower.ZoneSupportSpellID <= 0 || followerStatus == FollowerStatus.inactive || followerStatus == FollowerStatus.fatigued || followerStatus == FollowerStatus.inBuilding) { return(null); } } GameObject gameObject = Object.Instantiate <GameObject>(this.m_followerListItemPrefab); gameObject.get_transform().SetParent(this.m_followerListViewContents.get_transform()); gameObject.get_transform().set_localScale(Vector3.get_one()); gameObject.get_transform().set_localPosition(Vector3.get_zero()); FollowerListItem component = gameObject.GetComponent <FollowerListItem>(); component.SetFollower(follower); AutoHide autoHide = gameObject.AddComponent <AutoHide>(); autoHide.m_clipRT = base.get_gameObject().GetComponent <RectTransform>(); return(component); }
private FollowerListItem InsertFollowerIntoListView(JamGarrisonFollower follower) { GarrFollowerRec record = StaticDB.garrFollowerDB.GetRecord(follower.GarrFollowerID); if (record == null) { return(null); } if (record.GarrFollowerTypeID != 4u) { return(null); } if (this.m_isCombatAllyList) { bool flag = (follower.Flags & 8) != 0; FollowerStatus followerStatus = GeneralHelpers.GetFollowerStatus(follower); if (flag || follower.ZoneSupportSpellID <= 0 || followerStatus == FollowerStatus.inactive || followerStatus == FollowerStatus.fatigued || followerStatus == FollowerStatus.inBuilding) { return(null); } } GameObject gameObject = Object.Instantiate <GameObject>(this.m_followerListItemPrefab); gameObject.get_transform().SetParent(this.m_followerListViewContents.get_transform(), false); FollowerListItem component = gameObject.GetComponent <FollowerListItem>(); component.SetFollower(follower); return(component); }
private void InitFollowerList() { FollowerListItem[] componentsInChildren = this.m_followerListViewContents.GetComponentsInChildren <FollowerListItem>(true); FollowerListItem[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { FollowerListItem followerListItem = array[i]; if (!PersistentFollowerData.followerDictionary.ContainsKey(followerListItem.m_followerID)) { followerListItem.get_gameObject().SetActive(false); followerListItem.get_transform().SetParent(Main.instance.get_transform()); } else { JamGarrisonFollower jamGarrisonFollower = PersistentFollowerData.followerDictionary.get_Item(followerListItem.m_followerID); bool flag = (jamGarrisonFollower.Flags & 8) != 0; if (flag && jamGarrisonFollower.Durability <= 0) { followerListItem.get_gameObject().SetActive(false); followerListItem.get_transform().SetParent(Main.instance.get_transform()); } else { followerListItem.SetFollower(jamGarrisonFollower); } } } this.m_followerListViewContents.get_transform().set_localPosition(new Vector3(this.m_followerListViewContents.get_transform().get_localPosition().x, 0f, this.m_followerListViewContents.get_transform().get_localPosition().z)); this.SortFollowerListData(); componentsInChildren = this.m_followerListViewContents.GetComponentsInChildren <FollowerListItem>(true); using (List <KeyValuePair <int, JamGarrisonFollower> > .Enumerator enumerator = this.m_sortedFollowerList.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <int, JamGarrisonFollower> current = enumerator.get_Current(); bool flag2 = false; FollowerListItem[] array2 = componentsInChildren; for (int j = 0; j < array2.Length; j++) { FollowerListItem followerListItem2 = array2[j]; if (followerListItem2.m_followerID == current.get_Value().GarrFollowerID) { flag2 = true; break; } } if (!flag2) { bool flag3 = (current.get_Value().Flags & 8) != 0; if (!flag3 || current.get_Value().Durability > 0) { this.InsertFollowerIntoListView(current.get_Value()); } } } } }
private void InsertFollowerIntoListView(JamGarrisonFollower follower, FollowerCategory followerCategory) { GarrFollowerRec record = StaticDB.garrFollowerDB.GetRecord(follower.GarrFollowerID); if (record == null) { return; } if (record.GarrFollowerTypeID != 4u) { return; } bool flag = (follower.Flags & 8) != 0; bool flag2 = !flag; FollowerStatus followerStatus = GeneralHelpers.GetFollowerStatus(follower); switch (followerCategory) { case FollowerCategory.ActiveChampion: if (!flag2 || followerStatus == FollowerStatus.inactive) { return; } break; case FollowerCategory.InactiveChampion: if (!flag2 || followerStatus != FollowerStatus.inactive) { return; } break; case FollowerCategory.Troop: if (!flag || follower.Durability <= 0) { return; } break; default: return; } FollowerListItem followerListItem = Object.Instantiate <FollowerListItem>(this.m_followerDetailListItemPrefab); followerListItem.get_transform().SetParent(this.m_followerDetailListContent.get_transform(), false); followerListItem.SetFollower(follower); AutoHide autoHide = followerListItem.m_followerDetailView.get_gameObject().AddComponent <AutoHide>(); autoHide.m_clipRT = this.m_panelViewRT; AutoHide autoHide2 = followerListItem.m_listItemArea.get_gameObject().AddComponent <AutoHide>(); autoHide2.m_clipRT = this.m_panelViewRT; }
private void InsertFollowerIntoListView(JamGarrisonFollower follower, FollowerCategory followerCategory) { GarrFollowerRec record = StaticDB.garrFollowerDB.GetRecord(follower.GarrFollowerID); if (record == null) { return; } if (record.GarrFollowerTypeID != 4u) { return; } bool flag = (follower.Flags & 8) != 0; bool flag2 = !flag; FollowerStatus followerStatus = GeneralHelpers.GetFollowerStatus(follower); switch (followerCategory) { case FollowerCategory.ActiveChampion: if (!flag2 || followerStatus == FollowerStatus.inactive) { return; } break; case FollowerCategory.InactiveChampion: if (!flag2 || followerStatus != FollowerStatus.inactive) { return; } break; case FollowerCategory.Troop: if (!flag || follower.Durability <= 0) { return; } break; default: return; } FollowerListItem followerListItem = Object.Instantiate <FollowerListItem>(this.m_followerDetailListItemPrefab); followerListItem.transform.SetParent(this.m_followerDetailListContent.transform, false); followerListItem.SetFollower(follower); }
private void SyncVisibleListOrderToSortedFollowerList() { FollowerListItem[] componentsInChildren = this.m_followerListViewContents.GetComponentsInChildren <FollowerListItem>(true); for (int i = 0; i < this.m_sortedFollowerList.get_Count(); i++) { FollowerListItem[] array = componentsInChildren; for (int j = 0; j < array.Length; j++) { FollowerListItem followerListItem = array[j]; if (followerListItem.m_followerID == this.m_sortedFollowerList.get_Item(i).get_Value().GarrFollowerID) { followerListItem.get_transform().SetSiblingIndex(i); break; } } } }
private void InitFollowerList() { FollowerListItem[] componentsInChildren = this.m_followerDetailListContent.GetComponentsInChildren <FollowerListItem>(true); FollowerListItem[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { FollowerListItem followerListItem = array[i]; if (!PersistentFollowerData.followerDictionary.ContainsKey(followerListItem.m_followerID)) { followerListItem.get_gameObject().SetActive(false); followerListItem.get_transform().SetParent(Main.instance.get_transform()); } else { JamGarrisonFollower jamGarrisonFollower = PersistentFollowerData.followerDictionary.get_Item(followerListItem.m_followerID); bool flag = (jamGarrisonFollower.Flags & 8) != 0; if (flag && jamGarrisonFollower.Durability <= 0) { followerListItem.get_gameObject().SetActive(false); followerListItem.get_transform().SetParent(Main.instance.get_transform()); } else { followerListItem.SetFollower(jamGarrisonFollower); } } } this.SortFollowerListData(); if (this.m_championsHeader == null) { this.m_championsHeader = Object.Instantiate <FollowerListHeader>(this.m_followerListHeaderPrefab); } this.m_championsHeader.get_transform().SetParent(this.m_followerDetailListContent.get_transform(), false); this.m_championsHeader.m_title.set_font(GeneralHelpers.LoadStandardFont()); this.m_championsHeader.m_title.set_text(StaticDB.GetString("CHAMPIONS", null) + ": "); int numActiveChampions = GeneralHelpers.GetNumActiveChampions(); int maxActiveChampions = GeneralHelpers.GetMaxActiveChampions(); if (numActiveChampions <= maxActiveChampions) { this.m_championsHeader.m_count.set_text(string.Concat(new object[] { string.Empty, numActiveChampions, "/", maxActiveChampions })); } else { this.m_championsHeader.m_count.set_text(string.Concat(new object[] { "<color=#ff0000ff>", numActiveChampions, "/", maxActiveChampions, "</color>" })); } using (List <KeyValuePair <int, JamGarrisonFollower> > .Enumerator enumerator = this.m_sortedFollowerList.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <int, JamGarrisonFollower> current = enumerator.get_Current(); bool flag2 = false; FollowerListItem[] array2 = componentsInChildren; for (int j = 0; j < array2.Length; j++) { FollowerListItem followerListItem2 = array2[j]; if (followerListItem2.m_followerID == current.get_Value().GarrFollowerID) { flag2 = true; break; } } if (!flag2) { this.InsertFollowerIntoListView(current.get_Value(), FollowerCategory.ActiveChampion); } } } int numTroops = GeneralHelpers.GetNumTroops(); if (this.m_troopsHeader == null) { this.m_troopsHeader = Object.Instantiate <FollowerListHeader>(this.m_followerListHeaderPrefab); } this.m_troopsHeader.get_transform().SetParent(this.m_followerDetailListContent.get_transform(), false); this.m_troopsHeader.m_title.set_font(GeneralHelpers.LoadStandardFont()); this.m_troopsHeader.m_title.set_text(StaticDB.GetString("TROOPS", null) + ": "); this.m_troopsHeader.m_count.set_font(GeneralHelpers.LoadStandardFont()); this.m_troopsHeader.m_count.set_text(string.Empty + numTroops); using (List <KeyValuePair <int, JamGarrisonFollower> > .Enumerator enumerator2 = this.m_sortedFollowerList.GetEnumerator()) { while (enumerator2.MoveNext()) { KeyValuePair <int, JamGarrisonFollower> current2 = enumerator2.get_Current(); bool flag3 = false; FollowerListItem[] array3 = componentsInChildren; for (int k = 0; k < array3.Length; k++) { FollowerListItem followerListItem3 = array3[k]; if (followerListItem3.m_followerID == current2.get_Value().GarrFollowerID) { flag3 = true; break; } } if (!flag3) { this.InsertFollowerIntoListView(current2.get_Value(), FollowerCategory.Troop); } } } int numInactiveChampions = GeneralHelpers.GetNumInactiveChampions(); if (this.m_inactiveHeader == null) { this.m_inactiveHeader = Object.Instantiate <FollowerListHeader>(this.m_followerListHeaderPrefab); } this.m_inactiveHeader.get_transform().SetParent(this.m_followerDetailListContent.get_transform(), false); this.m_inactiveHeader.m_title.set_font(GeneralHelpers.LoadStandardFont()); this.m_inactiveHeader.m_title.set_text(StaticDB.GetString("INACTIVE", null) + ": "); this.m_inactiveHeader.m_count.set_font(GeneralHelpers.LoadStandardFont()); this.m_inactiveHeader.m_count.set_text(string.Empty + numInactiveChampions); using (List <KeyValuePair <int, JamGarrisonFollower> > .Enumerator enumerator3 = this.m_sortedFollowerList.GetEnumerator()) { while (enumerator3.MoveNext()) { KeyValuePair <int, JamGarrisonFollower> current3 = enumerator3.get_Current(); bool flag4 = false; FollowerListItem[] array4 = componentsInChildren; for (int l = 0; l < array4.Length; l++) { FollowerListItem followerListItem4 = array4[l]; if (followerListItem4.m_followerID == current3.get_Value().GarrFollowerID) { flag4 = true; break; } } if (!flag4) { this.InsertFollowerIntoListView(current3.get_Value(), FollowerCategory.InactiveChampion); } } } this.SyncVisibleListOrderToSortedFollowerList(); this.m_championsHeader.get_gameObject().SetActive(numActiveChampions > 0); this.m_troopsHeader.get_gameObject().SetActive(numTroops > 0); this.m_inactiveHeader.get_gameObject().SetActive(numInactiveChampions > 0); this.m_championsHeader.get_transform().SetSiblingIndex(0); this.m_troopsHeader.get_transform().SetSiblingIndex(numActiveChampions + 1); this.m_inactiveHeader.get_transform().SetSiblingIndex(numActiveChampions + numTroops + 2); }
private void DetailFollowerListItem_ManageFollowerDetailViewSize(int garrFollowerID) { bool flag = garrFollowerID == this.m_followerID && this.m_followerDetailViewLayoutElement.get_minHeight() == 0f; if (flag) { if (this.m_followerDetailView.GetCurrentFollower() != this.m_followerID) { this.m_followerDetailView.SetFollower(this.m_followerID); } iTween.StopByName(base.get_gameObject(), "FollowerDetailExpand"); iTween.StopByName(base.get_gameObject(), "FollowerDetailExpandArrow"); iTween.StopByName(base.get_gameObject(), "FollowerDetailContract"); iTween.StopByName(base.get_gameObject(), "FollowerDetailContractArrow"); this.SelectMe(); bool flag2 = false; float num = 0f; FollowerListItem[] componentsInChildren = OrderHallFollowersPanel.instance.m_followerDetailListContent.GetComponentsInChildren <FollowerListItem>(true); FollowerListItem[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { FollowerListItem followerListItem = array[i]; if (followerListItem == this) { break; } if (followerListItem.m_followerDetailViewLayoutElement.get_minHeight() > 0f) { num = followerListItem.m_followerDetailViewLayoutElement.get_minHeight(); flag2 = true; break; } } RectTransform component = this.m_followerDetailView.traitsAndAbilitiesRootObject.GetComponent <RectTransform>(); OrderHallFollowersPanel.instance.ScrollListTo(-base.get_transform().get_localPosition().y - ((!flag2) ? 0f : num) - 56f); bool active = true; JamGarrisonFollower jamGarrisonFollower = PersistentFollowerData.followerDictionary.get_Item(this.m_followerID); int num2 = (jamGarrisonFollower.ItemLevelWeapon + jamGarrisonFollower.ItemLevelArmor) / 2; bool flag3 = (jamGarrisonFollower.Flags & 8) != 0; GarrFollowerRec record = StaticDB.garrFollowerDB.GetRecord(jamGarrisonFollower.GarrFollowerID); if (flag3 || jamGarrisonFollower.FollowerLevel < MissionDetailView.GarrisonFollower_GetMaxFollowerLevel((int)record.GarrFollowerTypeID)) { active = false; } this.m_useArmamentsButton.SetActive(active); iTween.ValueTo(base.get_gameObject(), iTween.Hash(new object[] { "name", "FollowerDetailExpand", "from", this.m_followerDetailViewLayoutElement.get_minHeight(), "to", component.get_rect().get_height() + (float)this.m_followerDetailViewExtraHeight, "time", 0.25f, "easetype", iTween.EaseType.easeOutCubic, "onupdate", "SetDetailViewHeight", "oncomplete", "ExpandDetailViewComplete" })); iTween.ValueTo(base.get_gameObject(), iTween.Hash(new object[] { "name", "FollowerDetailExpandArrow", "from", 0, "to", -90f, "time", 0.25f, "easetype", iTween.EaseType.easeOutCubic, "onupdate", "SetExpandArrowRotation", "oncomplete", "ExpandArrowRotationComplete" })); this.m_followerDetailViewCanvasGroup.set_alpha(1f); } else if (this.m_followerDetailViewLayoutElement.get_minHeight() > 0f) { iTween.StopByName(base.get_gameObject(), "FollowerDetailExpand"); iTween.StopByName(base.get_gameObject(), "FollowerDetailExpandArrow"); iTween.StopByName(base.get_gameObject(), "FollowerDetailContract"); iTween.StopByName(base.get_gameObject(), "FollowerDetailContractArrow"); this.DeselectMe(); iTween.ValueTo(base.get_gameObject(), iTween.Hash(new object[] { "name", "FollowerDetailContract", "from", this.m_followerDetailViewLayoutElement.get_minHeight(), "to", 0f, "time", 0.25f, "easetype", iTween.EaseType.easeOutCubic, "onupdate", "SetDetailViewHeight", "oncomplete", "ContractDetailViewComplete" })); iTween.ValueTo(base.get_gameObject(), iTween.Hash(new object[] { "name", "FollowerDetailContractArrow", "from", this.m_expandArrow.get_transform().get_localEulerAngles().z, "to", 360f, "time", 0.25f, "easetype", iTween.EaseType.easeOutCubic, "onupdate", "SetExpandArrowRotation", "oncomplete", "ContractArrowRotationComplete" })); } }