备份CatanBuilding瘦身独立工程
This commit is contained in:
97
Assets/Scripts/MiniBP/UI/MiniBattlePassItemFishCard.cs
Normal file
97
Assets/Scripts/MiniBP/UI/MiniBattlePassItemFishCard.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
|
||||
using asap.core;
|
||||
using GameCore;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class MiniBattlePassItemFishCard : MonoBehaviour, IMiniBattlePassItem
|
||||
{
|
||||
public GameObject tag_normal_mask;
|
||||
public TMP_Text text_num_normal;
|
||||
public GameObject tag_current;
|
||||
public TMP_Text text_num_current;
|
||||
public GameObject tag_first;
|
||||
public RewardItemNew freeReward;
|
||||
public GameObject freeClaim;
|
||||
public Button freeClaimBtn;
|
||||
public RewardItemNew grandReward;
|
||||
public GameObject grandClaimLocked;
|
||||
public GameObject fx_unlocked;
|
||||
public GameObject grandClaim;
|
||||
public Button grandClaimBtn;
|
||||
protected MiniBattlePassDataModel miniBP;
|
||||
protected bool isClaim;
|
||||
MiniBPItemData data;
|
||||
protected void Start()
|
||||
{
|
||||
grandClaimBtn.onClick.AddListener(ClickGrandClaim);
|
||||
freeClaimBtn.onClick.AddListener(() =>
|
||||
{
|
||||
miniBP.ReceiveReward(data.index, true);
|
||||
//Refresh();
|
||||
GContext.Publish(new RefreshPanelEvent());
|
||||
});
|
||||
}
|
||||
private void ClickLock()
|
||||
{
|
||||
if (isClaim)
|
||||
{
|
||||
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_106"));
|
||||
}
|
||||
}
|
||||
|
||||
public void Init(MiniBPItemData bpItemFirstData, MiniBattlePassDataModel miniBP)
|
||||
{
|
||||
if (bpItemFirstData == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
this.miniBP = miniBP;
|
||||
this.data = bpItemFirstData;
|
||||
isClaim = bpItemFirstData.progress >= bpItemFirstData.maxProgress;
|
||||
|
||||
grandReward.SetData(bpItemFirstData.grandReward);
|
||||
//text_task.text = bpItemFirstData.taskName;
|
||||
if (bpItemFirstData.freeReward != null)
|
||||
{
|
||||
freeReward.SetData(bpItemFirstData.freeReward);
|
||||
}
|
||||
tag_normal_mask.SetActive(!isClaim);
|
||||
tag_first.SetActive(data.index == 0);
|
||||
tag_current.SetActive(data.index == miniBP.rewardIndex);
|
||||
text_num_current.text = text_num_normal.text = data.index.ToString();
|
||||
Refresh();
|
||||
}
|
||||
|
||||
public void Refresh()
|
||||
{
|
||||
grandClaimLocked.gameObject.SetActive(!data.isGrandReward);
|
||||
grandClaim.SetActive(data.isGrandReward && !data.isGrandClaimed && isClaim);
|
||||
grandClaimBtn.gameObject.SetActive(data.isGrandReward && !data.isGrandClaimed && isClaim);
|
||||
freeClaim.SetActive(!data.isFreeClaimed && isClaim);
|
||||
freeClaimBtn.gameObject.SetActive(!data.isFreeClaimed && isClaim);
|
||||
grandReward.SetReceived(data.isGrandClaimed);
|
||||
freeReward.SetReceived(data.isFreeClaimed);
|
||||
}
|
||||
public void UnlockRefresh()
|
||||
{
|
||||
fx_unlocked.SetActive(true);
|
||||
}
|
||||
private void ClickGrandClaim()
|
||||
{
|
||||
if (data.isGrandReward)
|
||||
{
|
||||
//领取付费奖励的逻辑
|
||||
miniBP.ReceiveReward(data.index, false);
|
||||
//Refresh();
|
||||
GContext.Publish(new RefreshPanelEvent());
|
||||
}
|
||||
else
|
||||
{
|
||||
ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_106"));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user