备份CatanBuilding瘦身独立工程
This commit is contained in:
75
Assets/Scripts/UI/Shop/GiftSelectionPackCustomizePanel.cs
Normal file
75
Assets/Scripts/UI/Shop/GiftSelectionPackCustomizePanel.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using asap.core;
|
||||
using GameCore;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class GiftSelectionPackCustomizePanel : MonoBehaviour
|
||||
{
|
||||
private GameObject[] _items;
|
||||
private Button _btnClose, _btnConfirm, _btnConfirmGray;
|
||||
private Animator _aniConfirm;
|
||||
private ToggleGroup _tglItem;
|
||||
private IEventAggregator _eventAggregator;
|
||||
private int _rewardSelectIdx = -1;
|
||||
public void Init(ItemData[] items, int selected, IEventAggregator ea)
|
||||
{
|
||||
_items = new GameObject[4];
|
||||
for (int i = 0; i < 4; i++)
|
||||
_items[i] = transform.Find($"root/Content_item/Item{i + 1}").gameObject;
|
||||
_btnClose = transform.Find("btn_close").GetComponent<Button>();
|
||||
_btnConfirm = transform.Find("root/btn_confrim/btn_green").GetComponent<Button>();
|
||||
_aniConfirm = transform.Find("root/btn_confrim/btn_green").GetComponent<Animator>();
|
||||
_btnConfirmGray = transform.Find("root/btn_confrim_gray/btn_green").GetComponent<Button>();
|
||||
_tglItem = transform.Find("root/Content_item").GetComponent<ToggleGroup>();
|
||||
|
||||
_btnClose.onClick.AddListener(() => {
|
||||
UIManager.Instance.DestroyUI(UITypes.GiftSelectPackCustomizePanel);
|
||||
});
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
int index = i;
|
||||
_items[i] = transform.Find($"root/Content_item/Item{i + 1}").gameObject;
|
||||
_items[i].transform.Find("btn_cherk/Ani_Container/Checkmark").gameObject.SetActive(false);
|
||||
_items[i].GetComponent<Toggle>().onValueChanged.AddListener((bool isOn) =>
|
||||
{
|
||||
_rewardSelectIdx = index;
|
||||
_items[index].transform.Find("btn_cherk/Ani_Container/Checkmark").gameObject.SetActive(isOn);
|
||||
_btnConfirm.gameObject.SetActive(true);
|
||||
_btnConfirmGray.gameObject.SetActive(false);
|
||||
});
|
||||
}
|
||||
_tglItem.allowSwitchOff = true;
|
||||
|
||||
_eventAggregator = ea;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (i >= items.Length)
|
||||
{
|
||||
_items[i].SetActive(false);
|
||||
continue;
|
||||
}
|
||||
_items[i].transform.Find("btn_green/reward_1").gameObject.GetComponent<RewardItemNew>()
|
||||
.SetData(items[i]);
|
||||
_items[i].GetComponent<Toggle>().isOn = (i == selected);
|
||||
_items[i].transform.Find("btn_cherk/Ani_Container/Checkmark").gameObject.SetActive(i == selected);
|
||||
}
|
||||
_btnConfirm.onClick.AddListener(OnClickConfirm);
|
||||
_btnConfirmGray.onClick.AddListener(() => ToastPanel.Show(LocalizationMgr.GetText("UI_ToastPanel_79")));
|
||||
if (selected != -1)
|
||||
{
|
||||
_rewardSelectIdx = selected;
|
||||
_btnConfirm.gameObject.SetActive(true);
|
||||
_btnConfirmGray.gameObject.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
_btnConfirm.gameObject.SetActive(false);
|
||||
_btnConfirmGray.gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
private void OnClickConfirm()
|
||||
{
|
||||
_eventAggregator.Publish(new EventSelectionPackItemConfirm(_rewardSelectIdx));
|
||||
UIManager.Instance.DestroyUI(UITypes.GiftSelectPackCustomizePanel);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user