76 lines
3.1 KiB
C#
76 lines
3.1 KiB
C#
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);
|
|
}
|
|
}
|