unityzgy/Assets/Scripts/ZFramwork/Extend/MyToggleButton.cs
ayuan9957 64d16aa5ec fix: MyToggleButton本地化+厂区间距提示本地化+测距按钮翻译
- MyToggleButton: 使用LocalizationManager.Get翻译切换按钮文本
- EditorAppraiser: CheckAreaDistance/CheckAreaToWaterDistance使用Format
- 新增翻译: 开始测距/结束测距/Ctrl提示/边界间距提示/水源距离提示
2026-07-16 15:24:53 +08:00

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