37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using GameCore;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class ShootingRangeFinalRewardPopupPanel : MonoBehaviour
|
|
{
|
|
[SerializeField] private Button btnNormal, btnFinal;
|
|
[SerializeField] private GameObject rewardRoot, finalRewardRoot;
|
|
[SerializeField] private ShootingRewardLayout normalRewardLayout, finalRewardLayout;
|
|
private ShootingRangeAct.EventRewardPanelClose _panelCloseEvent;
|
|
|
|
public void Init(List<ItemData> rewardItems, bool isFinalStage = false)
|
|
{
|
|
btnNormal.onClick.AddListener(OnClickClaim);
|
|
btnFinal.onClick.AddListener(OnClickClaim);
|
|
rewardRoot.SetActive(!isFinalStage);
|
|
finalRewardRoot.SetActive(isFinalStage);
|
|
normalRewardLayout.SetRewards(rewardItems);
|
|
finalRewardLayout.SetRewards(rewardItems);
|
|
_panelCloseEvent = new ShootingRangeAct.EventRewardPanelClose
|
|
{
|
|
IsFinalStage = isFinalStage,
|
|
Rewards = rewardItems.ToArray(),
|
|
};
|
|
}
|
|
|
|
private void OnClickClaim()
|
|
{
|
|
// This panel does not use extra ShootingRangeBlocker.cs script.
|
|
ShootingRangeAct.EventAggregator.Publish(new ShootingRangeAct.EventPanelClose());
|
|
_panelCloseEvent.RewardPositionList = finalRewardLayout.isActiveAndEnabled ? finalRewardLayout.PositionList : normalRewardLayout.PositionList;
|
|
ShootingRangeAct.EventAggregator.Publish(_panelCloseEvent);
|
|
UIManager.Instance.DestroyUI(UITypes.ShootingRangeFinalRewardPopup);
|
|
}
|
|
}
|