using TMPro; using UnityEngine; using DG.Tweening; using System.Collections; namespace AibisDream.FixSystem { public class OscilloscopeSystem : MonoBehaviour { #region 组件索引 private TMP_Text _state; // 显示状态的TextMeshPro组件 private TMP_Text _screenText;// 显示消息的TextMeshPro组件 private SpriteButton _deepinButton; #endregion #region 状态 public bool isScanning; public bool isPlaying; public bool canScan; #endregion private void Awake() { FixSystemCenter.SystemDic.Register(this); InitComponentRefs(); } private void InitComponentRefs() { _screenText = transform.Find("Screen Text").GetComponent(); _state = transform.Find("Screen State Text").GetComponent(); _deepinButton = new SpriteButton(transform.Find("Deepin Button").gameObject, false); MessageBoxSetNull(); } private void Update() { _deepinButton.CheckButtonClick(); } public void MessageBoxSetError() { _state.text = "错误"; _state.color = Color.red; // 红色 // _screenText.text = message; // _screenText.color = Color.white; // 默认文本颜色 } public void MessageBoxSetWarning() { _state.text = "警告"; _state.color = new Color(1.0f, 0.55f, 0.0f); // 琥珀色 // _screenText.text = message; // _screenText.color = Color.white; // 默认文本颜色 } public void MessageBoxSetNormal() { _state.text = "正常"; _state.color = Color.blue; // 琥珀色 // _screenText.text = message; // _screenText.color = Color.white; // 默认文本颜色 } public void MessageBoxSetChecking() { _state.text = "检查中"; _state.color = Color.white; // 琥珀色 // _screenText.text = string.Empty; // _screenText.color = Color.white; // 默认文本颜色 } public void MessageBoxSetText(string text) { _screenText.color = Color.white; // 默认文本颜色 _screenText.text += text+"
"; } public void MessageBoxSetNull() { _state.text = "未检测到信号"; _state.color = Color.white; // 蓝色 _screenText.text = ""; _screenText.color = Color.white; // 默认文本颜色 } public IEnumerator EnableDeepInButton() { yield return _deepinButton.GetTransform().DOLocalMoveX(0.35f, 0.5f).WaitForCompletion(); _deepinButton.SetActive(true); } public IEnumerator DisableDeepInButton() { yield return _deepinButton.GetTransform().DOLocalMoveX(-0.2f, 0.5f).WaitForCompletion(); _deepinButton.SetActive(false); } } }