using Cysharp.Threading.Tasks;
|
using UnityEngine;
|
public class HeroSkinFlashSaleCell : MonoBehaviour
|
{
|
[SerializeField] ButtonEx clickButton;
|
[SerializeField] ImageEx bgImage;
|
[SerializeField] ImageEx heroImage;
|
HeroSkinFlashSaleManager manager => HeroSkinFlashSaleManager.Instance;
|
public void Display()
|
{
|
clickButton.SetListener(() =>
|
{
|
UIManager.Instance.OpenWindow<HeroSkinFlashSaleWin>();
|
});
|
|
var act = manager.GetActInfo();
|
if (act == null) return;
|
|
var config = ActSpecialSaleConfig.Get(act.CfgID);
|
if (config == null) return;
|
|
var list = manager.GetSkinIDList(act.CfgID);
|
if (list.IsNullOrEmpty()) return;
|
|
int skinID = list[0];
|
var skinConfig = HeroSkinConfig.Get(skinID);
|
if (skinConfig == null) return;
|
|
bgImage.SetSprite(StringUtility.Concat("HeroSkinFlashSaleEntryBg_", skinID.ToString()));
|
SetHeroSquareIcon(heroImage, skinConfig.SquareIcon).Forget();
|
}
|
|
async UniTaskVoid SetHeroSquareIcon(ImageEx image, string name)
|
{
|
var sprite = UILoader.LoadSprite("HeroHead", name);
|
if (sprite != null)
|
{
|
image.overrideSprite = sprite;
|
return;
|
}
|
|
image.SetSprite("herohead_default");
|
}
|
|
}
|