コード例 #1
0
 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);
 }
コード例 #2
0
 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);
 }
コード例 #3
0
 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);
         }
     }
 }
コード例 #4
0
    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();
        }
    }
コード例 #5
0
    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();
            }
        }
    }