using UnityEngine;
|
|
public class HeroDebutCheckInCell : MonoBehaviour
|
{
|
[SerializeField] ButtonEx clickButton;
|
[SerializeField] ImageEx bgImage;
|
[SerializeField] TextEx dayText;
|
[SerializeField] TextEx itemNameText;
|
[SerializeField] ItemCell itemCell;
|
[SerializeField] UIEffectPlayer uiEffectPlayer;
|
[SerializeField] Transform imgMask;
|
|
HeroDebutManager manager => HeroDebutManager.Instance;
|
|
private int currentItemId;
|
private int currentState;
|
|
public void Display(int templateID, int dayNum)
|
{
|
uiEffectPlayer.Stop();
|
|
var config = ActSignAwardConfig.GetConfig(templateID, dayNum);
|
if (config == null) return;
|
if (config.SignAwardItemList.IsNullOrEmpty()) return;
|
|
currentItemId = config.SignAwardItemList[0][0];
|
int count = config.SignAwardItemList[0][1];
|
|
var itemConfig = ItemConfig.Get(currentItemId);
|
if (itemConfig == null) return;
|
|
currentState = manager.GetCheckInState(dayNum);
|
imgMask.SetActive(currentState == 2);
|
bgImage.SetSprite(currentState == 1 ? "HeroDebutCheckInDayBG1" : "HeroDebutCheckInDayBG2");
|
if (currentState == 1)
|
{
|
uiEffectPlayer.Play();
|
}
|
|
dayText.text = Language.Get($"SignDay{dayNum}");
|
itemNameText.text = itemConfig.ItemName;
|
|
itemCell.Init(new ItemCellModel(currentItemId, false, count));
|
itemCell.button.AddListener(OnItemClicked);
|
|
clickButton.SetListener(() => manager.SendGetCheckInReward());
|
}
|
|
private void OnItemClicked()
|
{
|
if (currentState == 1)
|
{
|
manager.SendGetCheckInReward();
|
}
|
else
|
{
|
ItemTipUtility.Show(currentItemId);
|
}
|
}
|
}
|