Files
aibis-dream/Assets/Scripts/UI/Panel/ChapterItem.cs
T
2025-09-01 21:58:50 +08:00

39 lines
1.0 KiB
C#

using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace AibisDream
{
public class ChapterItem : MonoBehaviour
{
#region 组件
[SerializeField] private Image chapterImage;
[SerializeField] private TMP_Text title;
[SerializeField] private TMP_Text subtitle;
[SerializeField] private GameObject markSign;
#endregion
private ChapterVo _chapterVo;
public event Action<ChapterVo> OnClick;
public void Init(ChapterVo chapterVo)
{
_chapterVo = chapterVo;
chapterImage.sprite = chapterVo.pic;
title.text = chapterVo.title;
subtitle.text = chapterVo.chapter;
markSign.SetActive(chapterVo.hasSaveFile);
GetComponent<Button>().onClick.AddListener(() => OnClick?.Invoke(_chapterVo));
}
public void OnDestroy()
{
GetComponent<Button>().onClick.RemoveAllListeners();
}
}
}