using asap.core; using GameCore; using TMPro; using UnityEngine; using UnityEngine.UI; [RequireComponent(typeof(Button))] public class EventPartnerStatueSlotView : MonoBehaviour { [SerializeField] private Head head; [SerializeField] private TMP_Text textDisplayName, textAddScore; [SerializeField] private Image progressBar; [SerializeField] private RewardItemNew rewardItem; [SerializeField] private GameObject goGreatReward, goEmpty, goPlayer, goAddScore, goInvitationRedPoint, goFinished; [SerializeField] private Button btnStatue; [SerializeField] private Image statueMask; private int _stage, _idx; private bool _isEmpty; private void Start() { btnStatue.onClick.AddListener(OnClickBtnStatue); } public void Init(EventPartnerStatueSlotViewData data) { _isEmpty = data.IsEmpty; _idx = data.Index; if (data.IsEmpty) { goEmpty.SetActive(true); goPlayer.SetActive(false); goInvitationRedPoint.SetActive(data.HasInvitation); goFinished.SetActive(false); return; } if (data.IsClaimed) { goEmpty.SetActive(false); goPlayer.SetActive(false); goInvitationRedPoint.SetActive(false); goFinished.SetActive(true); SetStatueState(99); return; } goEmpty.SetActive(false); goPlayer.SetActive(true); goInvitationRedPoint.SetActive(false); goFinished.SetActive(false); head.SetData(data.Info.AvatarUrl); textDisplayName.text = data.Info.DisplayName; _stage = data.Stage; progressBar.fillAmount = data.Progress; if (data.Reward == null) { goGreatReward.SetActive(true); rewardItem.gameObject.SetActive(false); } else { goGreatReward.SetActive(false); rewardItem.gameObject.SetActive(true); rewardItem.SetData(data.Reward); } SetStatueState(_stage); if (data.ScoreToAdd > 0) { goAddScore.SetActive(true); textAddScore.text = "+" + data.ScoreToAdd.ToString(); } else { goAddScore.SetActive(false); } } private void Reset() { goEmpty = transform.Find("empty").gameObject; goInvitationRedPoint = transform.Find("empty/redpoints").gameObject; goPlayer = transform.Find("player").gameObject; head = transform.Find("player/head").GetComponent(); textDisplayName = transform.Find("player/head/text_player_name").GetComponent(); progressBar = transform.Find("player/head/bg_bar/bar").GetComponent(); rewardItem = transform.Find("player/head/bg_bar/reward").GetComponent(); goGreatReward = transform.Find("player/head/bg_bar/icon_grand_reward").gameObject; btnStatue = GetComponent