예제 #1
0
        // Token: 0x06003B25 RID: 15141 RVA: 0x0010EAD0 File Offset: 0x0010CCD0
        public static ConfigDataCharImageSkinResourceInfo GetHeroCharImageSkinResourceInfo(IConfigDataLoader configDataLoader, int charSkinId)
        {
            if (charSkinId == 0)
            {
                return(null);
            }
            ConfigDataHeroSkinInfo configDataHeroSkinInfo = configDataLoader.GetConfigDataHeroSkinInfo(charSkinId);

            if (configDataHeroSkinInfo != null)
            {
                return(configDataLoader.GetConfigDataCharImageSkinResourceInfo(configDataHeroSkinInfo.CharImageSkinResource_ID));
            }
            return(null);
        }
        // Token: 0x0601126A RID: 70250 RVA: 0x00472CA8 File Offset: 0x00470EA8
        public void SetHeroCharSkinItem(int heroSkinId, int index, ConfigDataHeroInfo heroInfo, int heroCurSkinId, string mode)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_SetHeroCharSkinItemInt32Int32ConfigDataHeroInfoInt32String_hotfix != null)
            {
                this.m_SetHeroCharSkinItemInt32Int32ConfigDataHeroInfoInt32String_hotfix.call(new object[]
                {
                    this,
                    heroSkinId,
                    index,
                    heroInfo,
                    heroCurSkinId,
                    mode
                });
                return;
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            this.HeroInfo      = heroInfo;
            this.m_index       = index;
            this.IsDefaultSkin = false;
            IConfigDataLoader configDataLoader = GameManager.Instance.ConfigDataLoader as IConfigDataLoader;

            this.HeroSkinInfo = configDataLoader.GetConfigDataHeroSkinInfo(heroSkinId);
            if (this.HeroSkinInfo == null)
            {
                return;
            }
            this.CharSkinInfo = configDataLoader.GetConfigDataCharImageSkinResourceInfo(this.HeroSkinInfo.CharImageSkinResource_ID);
            if (!GameObjectUtility.HasChinese(this.CharSkinInfo.Image))
            {
                this.m_iconImage.sprite = AssetUtility.Instance.GetSprite(this.CharSkinInfo.Image);
            }
            this.m_nameText.text = this.CharSkinInfo.Name;
            ProjectLPlayerContext projectLPlayerContext = GameManager.Instance.PlayerContext as ProjectLPlayerContext;
            string stateName = null;

            if (projectLPlayerContext.HasOwn(GoodsType.GoodsType_HeroSkin, heroSkinId))
            {
                if (heroCurSkinId != heroSkinId)
                {
                    if (mode != null)
                    {
                        if (!(mode == "ShowOneSkin"))
                        {
                            if (!(mode == "ShowSkinDetailMode"))
                            {
                                if (mode == "SkinBuyMode")
                                {
                                    stateName = "Bought";
                                }
                            }
                            else
                            {
                                stateName = "Got";
                            }
                        }
                        else
                        {
                            stateName = "Normal";
                        }
                    }
                }
                else
                {
                    stateName = "Wear";
                }
                this.m_timeGo.SetActive(false);
            }
            else
            {
                stateName = "Lock";
                ConfigDataFixedStoreItemInfo configDataFixedStoreItemInfo = configDataLoader.GetConfigDataFixedStoreItemInfo(this.HeroSkinInfo.FixedStoreItemId);
                if (configDataFixedStoreItemInfo != null)
                {
                    this.m_timeGo.SetActive(configDataFixedStoreItemInfo.ShowEndTime != DateTime.MaxValue.ToString());
                }
                else
                {
                    this.m_timeGo.SetActive(false);
                }
            }
            this.m_stateCtrl.SetToUIState(stateName, false, true);
        }