public void Init(FollowerDetailView followerDetailView)
    {
        this.m_currentFollowerDetailView = followerDetailView;
        FollowerInventoryListItem[] componentsInChildren = this.m_armamentListContent.GetComponentsInChildren <FollowerInventoryListItem>(true);
        FollowerInventoryListItem[] array = componentsInChildren;
        for (int i = 0; i < array.Length; i++)
        {
            FollowerInventoryListItem followerInventoryListItem = array[i];
            Object.DestroyImmediate(followerInventoryListItem.get_gameObject());
        }
        bool        active     = true;
        IEnumerator enumerator = PersistentArmamentData.armamentDictionary.get_Values().GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                MobileFollowerArmament    item = (MobileFollowerArmament)enumerator.get_Current();
                FollowerInventoryListItem followerInventoryListItem2 = Object.Instantiate <FollowerInventoryListItem>(this.m_armamentListItemPrefab);
                followerInventoryListItem2.get_transform().SetParent(this.m_armamentListContent.get_transform(), false);
                followerInventoryListItem2.SetArmament(item, followerDetailView);
                active = false;
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable != null)
            {
                disposable.Dispose();
            }
        }
        this.m_emptyMessage.get_gameObject().SetActive(active);
    }
    public void SetArmament(MobileFollowerArmament item, FollowerDetailView followerDetailView)
    {
        this.m_armamentItem       = item;
        this.m_followerDetailView = followerDetailView;
        ItemRec record = StaticDB.itemDB.GetRecord(item.ItemID);

        this.m_equipmentName.set_text(GeneralHelpers.GetItemQualityColorTag(record.OverallQualityID) + record.Display + "</color>");
        SpellTooltipRec record2 = StaticDB.spellTooltipDB.GetRecord(item.SpellID);

        if (record2 != null)
        {
            this.m_equipmentDescription.set_text(record2.Description);
        }
        else
        {
            this.m_equipmentDescription.set_text(string.Concat(new object[]
            {
                "ERROR. Unknown Spell ID: ",
                item.SpellID,
                " Item ID:",
                item.ItemID
            }));
        }
        this.m_equipmentDescription.set_text(WowTextParser.parser.Parse(this.m_equipmentDescription.get_text(), item.SpellID));
        this.m_equipmentDescription.set_supportRichText(WowTextParser.parser.IsRichText());
        if (this.m_iconErrorText != null)
        {
            this.m_iconErrorText.get_gameObject().SetActive(false);
        }
        Sprite sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, record.IconFileDataID);

        if (sprite != null)
        {
            this.m_equipmentIcon.set_sprite(sprite);
        }
        else if (this.m_iconErrorText != null)
        {
            this.m_iconErrorText.get_gameObject().SetActive(true);
            this.m_iconErrorText.set_text(string.Empty + record.IconFileDataID);
        }
        this.m_equipmentQuantity.set_text((item.Quantity <= 1) ? string.Empty : (string.Empty + item.Quantity));
        JamGarrisonFollower jamGarrisonFollower = PersistentFollowerData.followerDictionary.get_Item(this.m_followerDetailView.GetCurrentFollower());

        if (jamGarrisonFollower != null && jamGarrisonFollower.CurrentMissionID != 0)
        {
            this.m_useItemButtonLabel.set_text(StaticDB.GetString("ON_MISSION", null));
            this.m_useItemButtonLabel.set_color(new Color(0.5f, 0.5f, 0.5f, 1f));
            this.m_useItemButton.set_interactable(false);
        }
        else if (jamGarrisonFollower != null && (jamGarrisonFollower.ItemLevelArmor + jamGarrisonFollower.ItemLevelWeapon) / 2 >= 850)
        {
            this.m_useItemButtonLabel.set_text(FollowerInventoryListItem.m_maxiLevelString);
            this.m_useItemButtonLabel.set_color(new Color(0.5f, 0.5f, 0.5f, 1f));
            this.m_useItemButton.set_interactable(false);
        }
        else
        {
            this.m_useItemButtonLabel.set_text(StaticDB.GetString("USE_ITEM", null));
        }
    }
 public static void AddOrUpdateArmament(MobileFollowerArmament armament)
 {
     if (PersistentArmamentData.instance.m_armamentDictionary.ContainsKey(armament.ItemID))
     {
         PersistentArmamentData.instance.m_armamentDictionary.Remove(armament.ItemID);
     }
     PersistentArmamentData.instance.m_armamentDictionary.Add(armament.ItemID, armament);
 }
    public void SetArmament(MobileFollowerArmament item, int garrFollowerID)
    {
        this.m_garrFollowerID = garrFollowerID;
        this.m_item           = item;
        ItemRec record = StaticDB.itemDB.GetRecord(item.ItemID);

        this.m_armamentName.set_text(record.Display);
        SpellTooltipRec record2 = StaticDB.spellTooltipDB.GetRecord(item.SpellID);

        if (record2 != null)
        {
            this.m_armamentDescription.set_text(record2.Description);
        }
        else
        {
            this.m_armamentDescription.set_text(string.Concat(new object[]
            {
                "ERROR. Unknown Spell ID: ",
                item.SpellID,
                " Item ID:",
                item.ItemID
            }));
        }
        this.m_armamentDescription.set_text(WowTextParser.parser.Parse(this.m_armamentDescription.get_text(), item.SpellID));
        if (this.m_iconErrorText != null)
        {
            this.m_iconErrorText.get_gameObject().SetActive(false);
        }
        Sprite sprite = GeneralHelpers.LoadIconAsset(AssetBundleType.Icons, record.IconFileDataID);

        if (sprite != null)
        {
            this.m_armamentIcon.set_sprite(sprite);
        }
        else if (this.m_iconErrorText != null)
        {
            this.m_iconErrorText.get_gameObject().SetActive(true);
            this.m_iconErrorText.set_text(string.Empty + record.IconFileDataID);
        }
        this.m_armamentQuantity.set_text((item.Quantity <= 1) ? string.Empty : (string.Empty + item.Quantity));
    }
Ejemplo n.º 5
0
    public void Init(FollowerDetailView followerDetailView, int abilityToReplace)
    {
        this.m_followerDetailView = followerDetailView;
        this.m_abilityToReplace   = abilityToReplace;
        FollowerInventoryListItem[] componentsInChildren = this.m_equipmentInventoryContent.GetComponentsInChildren <FollowerInventoryListItem>(true);
        FollowerInventoryListItem[] array = componentsInChildren;
        for (int i = 0; i < array.Length; i++)
        {
            FollowerInventoryListItem followerInventoryListItem = array[i];
            Object.DestroyImmediate(followerInventoryListItem.get_gameObject());
        }
        int         num        = 0;
        IEnumerator enumerator = PersistentEquipmentData.equipmentDictionary.get_Values().GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                MobileFollowerEquipment item = (MobileFollowerEquipment)enumerator.get_Current();
                if (num == 0)
                {
                    GameObject gameObject = Object.Instantiate <GameObject>(this.m_headerPrefab);
                    gameObject.get_transform().SetParent(this.m_equipmentInventoryContent.get_transform(), false);
                    FollowerInventoryListItem component = gameObject.GetComponent <FollowerInventoryListItem>();
                    component.SetHeaderText("Equipment");
                }
                GameObject gameObject2 = Object.Instantiate <GameObject>(this.m_followerInventoryListItemPrefab);
                gameObject2.get_transform().SetParent(this.m_equipmentInventoryContent.get_transform(), false);
                FollowerInventoryListItem component2 = gameObject2.GetComponent <FollowerInventoryListItem>();
                component2.SetEquipment(item, followerDetailView, abilityToReplace);
                num++;
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable != null)
            {
                disposable.Dispose();
            }
        }
        if (num == 0)
        {
            GameObject gameObject3 = Object.Instantiate <GameObject>(this.m_headerPrefab);
            gameObject3.get_transform().SetParent(this.m_equipmentInventoryContent.get_transform(), false);
            FollowerInventoryListItem component3 = gameObject3.GetComponent <FollowerInventoryListItem>();
            component3.SetHeaderText(StaticDB.GetString("NO_EQUIPMENT", null));
        }
        int         num2        = 0;
        IEnumerator enumerator2 = PersistentArmamentData.armamentDictionary.get_Values().GetEnumerator();

        try
        {
            while (enumerator2.MoveNext())
            {
                MobileFollowerArmament item2 = (MobileFollowerArmament)enumerator2.get_Current();
                if (num2 == 0)
                {
                    GameObject gameObject4 = Object.Instantiate <GameObject>(this.m_headerPrefab);
                    gameObject4.get_transform().SetParent(this.m_equipmentInventoryContent.get_transform(), false);
                    FollowerInventoryListItem component4 = gameObject4.GetComponent <FollowerInventoryListItem>();
                    component4.SetHeaderText("Armaments");
                }
                GameObject gameObject5 = Object.Instantiate <GameObject>(this.m_followerInventoryListItemPrefab);
                gameObject5.get_transform().SetParent(this.m_equipmentInventoryContent.get_transform(), false);
                FollowerInventoryListItem component5 = gameObject5.GetComponent <FollowerInventoryListItem>();
                component5.SetArmament(item2, followerDetailView);
                num2++;
            }
        }
        finally
        {
            IDisposable disposable2 = enumerator2 as IDisposable;
            if (disposable2 != null)
            {
                disposable2.Dispose();
            }
        }
        if (num == 0)
        {
            GameObject gameObject6 = Object.Instantiate <GameObject>(this.m_headerPrefab);
            gameObject6.get_transform().SetParent(this.m_equipmentInventoryContent.get_transform(), false);
            FollowerInventoryListItem component6 = gameObject6.GetComponent <FollowerInventoryListItem>();
            component6.SetHeaderText(StaticDB.GetString("NO_ARMAMENTS", null));
        }
    }