using System.Collections; using System.Collections.Generic; using I2.Loc; using TMPro; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; namespace Ichni.UI { public abstract class SettingsUIElementBase : MonoBehaviour { public string title; public string subTitle; public Image titleBackground; public TMP_Text titleText; public TMP_Text subTitleText; public UnityAction updateValueAction; /// /// 初始化设置控件的标题区域。 /// 用于已经由 Unity Localization 直接驱动标题的控件: /// 运行时代码不会覆盖或隐藏 Prefab 中的本地化标题。 /// public virtual void SetUp(string title = "", string subTitle = "", bool preservePrefabTitle = false) { if (preservePrefabTitle) { return; } if (title != "") { SetTitle(title, subTitle); } else { titleBackground.gameObject.SetActive(false); titleText.gameObject.SetActive(false); subTitleText.gameObject.SetActive(false); } } public void SetTitle(string title, string subTitle = "") { this.title = title; this.subTitle = subTitle; titleText.gameObject.SetActive(true); titleText.GetComponent().SetTerm(title); if (subTitle != "") { subTitleText.gameObject.SetActive(true); subTitleText.GetComponent().SetTerm(subTitle); } else { subTitleText.gameObject.SetActive(false); } } } }