public bool AnyTalentIsResearching() { TalentTreeItem[] componentsInChildren = this.m_talentTreeItemRoot.GetComponentsInChildren <TalentTreeItem>(true); TalentTreeItem[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { TalentTreeItem talentTreeItem = array[i]; if (talentTreeItem.m_talentButtonLeft.IsResearching() || talentTreeItem.m_talentButtonRight.IsResearching()) { return(true); } } return(false); }
public bool TalentIsReadyToPlayGreenCheckAnim() { using (List <TalentTreeItem> .Enumerator enumerator = this.m_talentTreeItems.GetEnumerator()) { while (enumerator.MoveNext()) { TalentTreeItem current = enumerator.get_Current(); if (current.m_talentButtonLeft.IsReadyToShowGreenCheckAnim() || current.m_talentButtonRight.IsReadyToShowGreenCheckAnim() || current.m_talentButtonSolo.IsReadyToShowGreenCheckAnim()) { return(true); } } } return(false); }
private void HandleGarrisonDataResetFinished() { if (this.m_needsFullInit) { this.InitTalentTree(); } else { TalentTreeItem[] componentsInChildren = this.m_talentTreeItemRoot.GetComponentsInChildren <TalentTreeItem>(true); TalentTreeItem[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { TalentTreeItem talentTreeItem = array[i]; talentTreeItem.HandleGarrisonDataResetFinished(); MobilePlayerCanResearchGarrisonTalent mobilePlayerCanResearchGarrisonTalent = new MobilePlayerCanResearchGarrisonTalent(); mobilePlayerCanResearchGarrisonTalent.GarrTalentID = talentTreeItem.m_talentButtonLeft.GetTalentID(); Login.instance.SendToMobileServer(mobilePlayerCanResearchGarrisonTalent); MobilePlayerCanResearchGarrisonTalent mobilePlayerCanResearchGarrisonTalent2 = new MobilePlayerCanResearchGarrisonTalent(); mobilePlayerCanResearchGarrisonTalent2.GarrTalentID = talentTreeItem.m_talentButtonRight.GetTalentID(); Login.instance.SendToMobileServer(mobilePlayerCanResearchGarrisonTalent2); } } }
private void InitTalentTree() { this.m_needsFullInit = false; Sprite sprite = this.LoadTalengBGForClass(GarrisonStatus.CharacterClassID()); if (sprite != null) { this.m_classBG.sprite = sprite; } TalentTreeItem[] componentsInChildren = this.m_talentTreeItemRoot.GetComponentsInChildren <TalentTreeItem>(true); foreach (TalentTreeItem talentTreeItem in componentsInChildren) { Object.DestroyImmediate(talentTreeItem.gameObject); } Image[] componentsInChildren2 = this.m_romanNumeralRoot.GetComponentsInChildren <Image>(true); foreach (Image image in componentsInChildren2) { Object.DestroyImmediate(image.gameObject); } GarrTalentTreeRec treeRec = null; StaticDB.garrTalentTreeDB.EnumRecords(delegate(GarrTalentTreeRec garrTalentTreeRec) { if (garrTalentTreeRec.ClassID == GarrisonStatus.CharacterClassID()) { treeRec = garrTalentTreeRec; return(false); } return(true); }); if (treeRec == null) { Debug.LogError("No GarrTalentTree record found for class " + GarrisonStatus.CharacterClassID()); return; } this.m_talentTreeItems = new List <TalentTreeItem>(); for (int k = 0; k < treeRec.MaxTiers; k++) { GameObject gameObject = Object.Instantiate <GameObject>(this.m_talentTreeItemPrefab); gameObject.transform.SetParent(this.m_talentTreeItemRoot.transform, false); TalentTreeItem component = gameObject.GetComponent <TalentTreeItem>(); this.m_talentTreeItems.Add(component); switch (k) { case 0: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-One"); break; case 1: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-Two"); break; case 2: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-Three"); break; case 3: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-Four"); break; case 4: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-Five"); break; case 5: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-Six"); break; case 6: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-Seven"); break; case 7: component.m_talentTier.sprite = Resources.Load <Sprite>("OrderAdvancement/Number-Eight"); break; } } StaticDB.garrTalentDB.EnumRecordsByParentID(treeRec.ID, delegate(GarrTalentRec garrTalentRec) { this.m_talentTreeItems[garrTalentRec.Tier].SetTalent(garrTalentRec); MobilePlayerCanResearchGarrisonTalent mobilePlayerCanResearchGarrisonTalent = new MobilePlayerCanResearchGarrisonTalent(); mobilePlayerCanResearchGarrisonTalent.GarrTalentID = garrTalentRec.ID; Login.instance.SendToMobileServer(mobilePlayerCanResearchGarrisonTalent); return(true); }); foreach (TalentTreeItem talentTreeItem2 in this.m_talentTreeItems) { talentTreeItem2.UpdateVisualStates(); } }
private void InitTalentTree() { this.m_needsFullInit = false; Sprite sprite = this.LoadTalengBGForClass(GarrisonStatus.CharacterClassID()); if (sprite != null) { this.m_classBG.set_sprite(sprite); } TalentTreeItem[] componentsInChildren = this.m_talentTreeItemRoot.GetComponentsInChildren <TalentTreeItem>(true); TalentTreeItem[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { TalentTreeItem talentTreeItem = array[i]; Object.DestroyImmediate(talentTreeItem.get_gameObject()); } Image[] componentsInChildren2 = this.m_romanNumeralRoot.GetComponentsInChildren <Image>(true); Image[] array2 = componentsInChildren2; for (int j = 0; j < array2.Length; j++) { Image image = array2[j]; Object.DestroyImmediate(image.get_gameObject()); } GarrTalentTreeRec treeRec = null; StaticDB.garrTalentTreeDB.EnumRecords(delegate(GarrTalentTreeRec garrTalentTreeRec) { if (garrTalentTreeRec.ClassID == GarrisonStatus.CharacterClassID()) { treeRec = garrTalentTreeRec; return(false); } return(true); }); if (treeRec == null) { Debug.LogError("No GarrTalentTree record found for class " + GarrisonStatus.CharacterClassID()); return; } this.m_talentTreeItems = new List <TalentTreeItem>(); for (int k = 0; k < treeRec.MaxTiers; k++) { GameObject gameObject = Object.Instantiate <GameObject>(this.m_talentTreeItemPrefab); gameObject.get_transform().SetParent(this.m_talentTreeItemRoot.get_transform(), false); TalentTreeItem component = gameObject.GetComponent <TalentTreeItem>(); this.m_talentTreeItems.Add(component); if (k < this.m_romanNumeralPrefabs.Length) { GameObject gameObject2 = Object.Instantiate <GameObject>(this.m_romanNumeralPrefabs[k]); gameObject2.get_transform().SetParent(this.m_romanNumeralRoot.get_transform(), false); } } StaticDB.garrTalentDB.EnumRecordsByParentID(treeRec.ID, delegate(GarrTalentRec garrTalentRec) { this.m_talentTreeItems.get_Item(garrTalentRec.Tier).SetTalent(garrTalentRec); MobilePlayerCanResearchGarrisonTalent mobilePlayerCanResearchGarrisonTalent = new MobilePlayerCanResearchGarrisonTalent(); mobilePlayerCanResearchGarrisonTalent.GarrTalentID = garrTalentRec.ID; Login.instance.SendToMobileServer(mobilePlayerCanResearchGarrisonTalent); return(true); }); using (List <TalentTreeItem> .Enumerator enumerator = this.m_talentTreeItems.GetEnumerator()) { while (enumerator.MoveNext()) { TalentTreeItem current = enumerator.get_Current(); current.UpdateVisualStates(); } } }