using asap.core; using game; using GameCore; using System; using UnityEngine; public class LuckyADTaskItem : ItemRewardBase { public LuckyADTaskItemData data { get; private set; } GameObject bg_gray; GameObject bg_normal; GameObject bg_done; AdvertButton btn_advert; Action onBuySuccess; private void Awake() { bg_gray = transform.Find("bg_gray").gameObject; bg_normal = transform.Find("bg_normal").gameObject; bg_done = transform.Find("bg_done").gameObject; btn_advert = transform.Find("btn_advert").GetComponent(); for (int i = 0; i < 2; i++) { var rewardItem = transform.Find($"reward{i + 1}").GetComponent(); if (rewardItem != null) { rewardItemNews.Add(rewardItem); } } } private void Start() { btn_advert.SetData(OnBuySuccess, AdvertPopupType.LuckyMission); btn_advert.adticketBtnGray.onClick.AddListener(() => ToastPanel.Show(LocalizationMgr.GetText("EventLuckyCardsADTaskPopupPanel_4"))); } void OnBuySuccess() { data.state = -1; Refresh(); onBuySuccess?.Invoke(this); } public void Init(LuckyADTaskItemData luckyTaskItemData, Action onBuySuccess) { this.data = luckyTaskItemData; this.onBuySuccess = onBuySuccess; SetItem(); } void SetItem() { Refresh(); System.Collections.Generic.List itemData = GContext.container.Resolve().GetItemDataByDropIdLureInflation(data.inflationRate, data.reward); SetItemData(itemData); } public void Refresh() { bg_gray.gameObject.SetActive(data.state != 1); bg_normal.gameObject.SetActive(data.state == 1); bg_done.SetActive(data.state == -1); btn_advert.gameObject.SetActive(data.state >= 0); if (data.state == 0) { btn_advert.SetGray(); } else if (data.state == 1) { btn_advert.ShowBtn(); } } } public class LuckyADTaskItemData { public int index; public int reward; /// /// // 0:不可看 1:可看 -1:已看 /// public int state; public float inflationRate; }