50 lines
1.4 KiB
C#
50 lines
1.4 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.UI;
|
|
using ZXKFramework;
|
|
namespace DongWuYiXue.DaoNiaoShu
|
|
{
|
|
public class ToggleSelectPanel : UIBase
|
|
{
|
|
public override string GroupName => "ToggleSelectPanel";
|
|
public override string Name => "ToggleSelectPanel";
|
|
|
|
Toggle[] toggles;
|
|
Button confirm;
|
|
public override void Init(IUIManager uictrl)
|
|
{
|
|
base.Init(uictrl);
|
|
toggles = GetComponentsInChildren<Toggle>(true);
|
|
confirm = transform.FindFirst<Button>("Confirm");
|
|
}
|
|
|
|
public void ToggleClick(int i,Action callBack)
|
|
{
|
|
toggles[i].onValueChanged.RemoveAllListeners();
|
|
toggles[i].onValueChanged.AddListener(args => {
|
|
callBack?.Invoke();
|
|
});
|
|
}
|
|
public bool ToggleIsOn()
|
|
{
|
|
for (int i = 0; i < toggles.Length; i++)
|
|
{
|
|
if (toggles[i].isOn)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
public void Confirm(UnityAction callBack)
|
|
{
|
|
confirm.onClick.RemoveAllListeners();
|
|
confirm.onClick.AddListener(()=> {
|
|
if (!ToggleIsOn()) return;
|
|
SetActive(false);
|
|
callBack?.Invoke();
|
|
});
|
|
}
|
|
}
|
|
} |