Files
JJBB/Assets/Project/Script/GUI/Childs/ChildSwitchBtnPanel.cs
2024-08-23 15:49:34 +08:00

43 lines
1.1 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class ChildSwitchBtnPanel : MonoBehaviour {
[Serializable]
public class ChildSwitchBtnEvent : UnityEvent<int>
{
public ChildSwitchBtnEvent() { }
}
[SerializeField]
public ChildSwitchBtnEvent OnSwitchBtnClick;
public GameObject _LastBtn;
public GameObject _NextBtn;
private int _TotalCount = 0;
private static int _CurSelectIndex = 0;
public void InitSwitchPanel(int totalCount, int curSelectIndex = 0)
{
_TotalCount = totalCount;
_CurSelectIndex = curSelectIndex;
if (totalCount == 0)
{
gameObject.SetActive(false);
return;
}
_LastBtn.SetActive(_CurSelectIndex > 0);
_NextBtn.SetActive(_CurSelectIndex < totalCount - 1);
}
public void OnSwithBtnClick(int index)
{
InitSwitchPanel(_TotalCount, _CurSelectIndex += index);
if (OnSwitchBtnClick != null)
OnSwitchBtnClick.Invoke(_CurSelectIndex);
}
}