这是第一个 Unity 开放项目的repo,是 Unity 和社区合作创建的一个小型开源游戏演示,第一款游戏是一款名为 Chop Chop 的动作冒险游戏。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

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);
}
}