using asap.core; using GameCore; using UnityEngine; using UnityEngine.UI; public class MiniBattlePassItemFirst : MiniBattlePassItem { public GameObject grandClaimed; public RewardItemNew freeReward; public GameObject freeClaim; public Button freeClaimBtn; public GameObject freeClaimed; protected override void Start() { base.Start(); freeClaimBtn.onClick.AddListener(OnFreeClaimClicked); } private void OnFreeClaimClicked() { var animHost = GetComponentInParent(); if (animHost != null) { if (animHost.TryScheduleClaim(data.index, true)) { return; } if (animHost.ClaimAnimationInProgress) { return; } } miniBP.ReceiveReward(data.index, true); GContext.Publish(new RefreshPanelEvent()); } public override void Init(MiniBPItemData bpItemFirstData, MiniBattlePassDataModel miniBP) { base.Init(bpItemFirstData, miniBP); freeReward.SetData(bpItemFirstData.freeReward); bg_done.SetActive(isClaim); } /// /// 购买VIP 或 领奖之后刷新界面 /// public override void Refresh() { base.Refresh(); freeClaim.SetActive(!data.isFreeClaimed && isClaim); freeClaimed.SetActive(data.isFreeClaimed); grandClaim.SetActive(data.isGrandReward && !data.isGrandClaimed && isClaim); grandClaimed.SetActive(data.isGrandClaimed); } } public class MiniBPItemData { public int index; public int progress; public int maxProgress; public string taskName; public ItemData freeReward; public ItemData grandReward; public bool isGrandReward; public bool isGrandClaimed; public bool isFreeClaimed; public bool UILockVip; }