您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
52 行
1.2 KiB
52 行
1.2 KiB
using UnityEngine;
|
|
using UnityEngine.Localization.Components;
|
|
using UnityEngine.UI;
|
|
using TMPro;
|
|
using UnityEngine.Events;
|
|
|
|
public class UISettingTabFiller : MonoBehaviour
|
|
{
|
|
[SerializeField] private LocalizeStringEvent _localizedTabTitle;
|
|
[SerializeField] private Image _bgSelectedTab;
|
|
[SerializeField] private Color _colorSelectedTab;
|
|
[SerializeField] private Color _colorUnselectedTab;
|
|
|
|
SettingsType _currentTabType;
|
|
|
|
public UnityAction<SettingsType> Clicked;
|
|
|
|
public void SetTab(SettingsType settingTab, bool isSelected)
|
|
{
|
|
_localizedTabTitle.StringReference.TableEntryReference = settingTab.ToString();
|
|
_currentTabType = settingTab;
|
|
if (isSelected)
|
|
{ SelectTab(); }
|
|
else
|
|
{ UnselectTab(); }
|
|
}
|
|
public void SetTab(SettingsType tabType)
|
|
{
|
|
bool isSelected = (_currentTabType == tabType);
|
|
if (isSelected)
|
|
{ SelectTab(); }
|
|
else
|
|
{ UnselectTab(); }
|
|
}
|
|
void SelectTab()
|
|
{
|
|
_bgSelectedTab.enabled = true;
|
|
_localizedTabTitle.GetComponent<TextMeshProUGUI>().color = _colorSelectedTab;
|
|
|
|
}
|
|
void UnselectTab()
|
|
{
|
|
_bgSelectedTab.enabled = false;
|
|
_localizedTabTitle.GetComponent<TextMeshProUGUI>().color = _colorUnselectedTab;
|
|
|
|
}
|
|
public void Click()
|
|
{
|
|
Clicked.Invoke(_currentTabType);
|
|
|
|
}
|
|
}
|