备份CatanBuilding瘦身独立工程
This commit is contained in:
48
Assets/Scripts/EventCan/EventCanRewardPanel.cs
Normal file
48
Assets/Scripts/EventCan/EventCanRewardPanel.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using asap.core;
|
||||
using GameCore;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class EventCanRewardPanel : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private RewardItemNew reward;
|
||||
[SerializeField] private GameObject[] gemBanners;
|
||||
[SerializeField] private Button btnClaim;
|
||||
private Action _action;
|
||||
private IEventAggregator _eventAggregator;
|
||||
private ItemData _rewardItem;
|
||||
|
||||
public void Init(ItemData rewardItem, int tunnelIdx, IEventAggregator ea, Action claimMark = null)
|
||||
{
|
||||
_rewardItem = rewardItem;
|
||||
reward.SetData(rewardItem, abbr: true);
|
||||
for (int i = 0; i < gemBanners.Length; i++)
|
||||
gemBanners[i].SetActive(i == tunnelIdx);
|
||||
btnClaim.onClick.AddListener(OnClaim);
|
||||
_action = claimMark;
|
||||
_eventAggregator = ea;
|
||||
}
|
||||
|
||||
private void OnClaim()
|
||||
{
|
||||
UIManager.Instance.DestroyUI(UITypes.EventCanRewardPopupPanel);
|
||||
_action?.Invoke();
|
||||
// _eventAggregator.Publish(
|
||||
// new EventCanTaskRewardClaimEvent(_rewardItem, reward.gameObject.transform.position));
|
||||
var request = new EventRewardFlyStashRequest(_rewardItem, reward.icon.GetComponent<RectTransform>());
|
||||
GContext.Publish(request);
|
||||
}
|
||||
}
|
||||
|
||||
public class EventCanTaskRewardClaimEvent
|
||||
{
|
||||
public ItemData Reward{get; set;}
|
||||
public Vector3 StartPos{get; set;}
|
||||
public EventCanTaskRewardClaimEvent(ItemData item, Vector3 pos)
|
||||
{
|
||||
Reward = item;
|
||||
StartPos = pos;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user