- MyToggleButton: 使用LocalizationManager.Get翻译切换按钮文本 - EditorAppraiser: CheckAreaDistance/CheckAreaToWaterDistance使用Format - 新增翻译: 开始测距/结束测距/Ctrl提示/边界间距提示/水源距离提示
65 lines
1.5 KiB
C#
65 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.UI;
|
|
|
|
public class MyToggleButton : Selectable, IPointerClickHandler
|
|
{
|
|
public string isOnActiveStr;
|
|
public string notOnActiveStr;
|
|
|
|
public event UnityAction<bool> valueChange;
|
|
public Text acticveStr;
|
|
[SerializeField]
|
|
bool isOn;
|
|
|
|
public bool IsOn
|
|
{
|
|
set
|
|
{
|
|
this.isOn = value;
|
|
if (acticveStr != null)
|
|
{
|
|
if (isOn)
|
|
{
|
|
acticveStr.text = LocalizationManager.Get(isOnActiveStr);
|
|
}
|
|
else
|
|
{
|
|
acticveStr.text = LocalizationManager.Get(notOnActiveStr);
|
|
}
|
|
}
|
|
valueChange?.Invoke(isOn);
|
|
}
|
|
get
|
|
{
|
|
return isOn;
|
|
}
|
|
}
|
|
|
|
// Start is called before the first update
|
|
protected override void Start()
|
|
{
|
|
IsOn = isOn;
|
|
LocalizationManager.LanguageChanged += OnLanguageChanged;
|
|
}
|
|
|
|
private void OnLanguageChanged()
|
|
{
|
|
if (acticveStr != null)
|
|
acticveStr.text = LocalizationManager.Get(isOn ? isOnActiveStr : notOnActiveStr);
|
|
}
|
|
|
|
protected override void OnDestroy()
|
|
{
|
|
LocalizationManager.LanguageChanged -= OnLanguageChanged;
|
|
}
|
|
|
|
public void OnPointerClick(PointerEventData eventData)
|
|
{
|
|
IsOn = !isOn;
|
|
}
|
|
}
|