| | |
| | | { |
| | | tmpIndex = HeroUIManager.Instance.selectSkinIndex; |
| | | } |
| | | |
| | | |
| | | // 检查选中的非默认皮肤是否满足 OpenDay 展示条件 |
| | | if (tmpIndex > 0) |
| | | { |
| | | int selectedSkinID = heroConfig.SkinIDList[tmpIndex]; |
| | | if (!HeroUIManager.IsSkinOpenDayMet(selectedSkinID)) |
| | | { |
| | | // 当前选中皮肤未到开服展示时间,回退到默认皮肤 |
| | | tmpIndex = 0; |
| | | HeroUIManager.Instance.selectSkinIndex = 0; |
| | | } |
| | | } |
| | | |
| | | skinID = heroConfig.SkinIDList[tmpIndex]; |
| | | bgTexture.SetTexture2D(HeroUIManager.Instance.GetBGName(skinID, heroConfig.Country)); |
| | | roleLhModel.Create(skinID, 1, motionName: "", isLh: true); |
| | |
| | | void CreateScroller() |
| | | { |
| | | skinScroller.Refresh(); |
| | | int visibleCount = 0; |
| | | for (int i = 0; i < heroConfig.SkinIDList.Length; i++) |
| | | { |
| | | skinScroller.AddCell(ScrollerDataType.Header, i); |
| | | // 默认皮肤(索引0)始终显示,非默认皮肤需满足 OpenDay 展示条件 |
| | | if (i == 0 || HeroUIManager.IsSkinOpenDayMet(heroConfig.SkinIDList[i])) |
| | | { |
| | | skinScroller.AddCell(ScrollerDataType.Header, i); |
| | | visibleCount++; |
| | | } |
| | | } |
| | | skinScroller.Restart(); |
| | | if (tmpIndex > 2) |
| | | |
| | | // 计算当前选中皮肤在过滤后的列表中的视觉位置 |
| | | int visualIndex = 0; |
| | | for (int i = 0; i < heroConfig.SkinIDList.Length; i++) |
| | | { |
| | | skinScroller.JumpIndex(tmpIndex - 1); |
| | | if (i == tmpIndex) |
| | | break; |
| | | if (i == 0 || HeroUIManager.IsSkinOpenDayMet(heroConfig.SkinIDList[i])) |
| | | visualIndex++; |
| | | } |
| | | |
| | | if (visualIndex > 2) |
| | | { |
| | | skinScroller.JumpIndex(visualIndex - 1); |
| | | } |
| | | } |
| | | |