Files
aibis-dream/Assets/Scripts/FixSystemNew/BodyModule/OscilloscopeSystem.cs
T
2025-01-15 12:39:08 +08:00

107 lines
3.3 KiB
C#

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<TMP_Text>();
_state = transform.Find("Screen State Text").GetComponent<TMP_Text>();
_deepinButton = new SpriteButton(transform.Find("Deepin Button").gameObject, false);
MessageBoxSetNull();
_deepinButton.OnButtonDown += HandleDeepInButtonClick;
}
private void Update()
{
_deepinButton.CheckButtonClick();
}
public void MessageBoxSetError()
{
_state.text = "错误";
_state.color = Color.red; // 红色
// _screenText.text = message;
// _screenText.color = Color.white; // 默认文本颜色
}
private void HandleDeepInButtonClick()
{
FixSystemCenter.SystemDic.Get<BodyModuleSystem>().HandleDeepIn();
}
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+"<br>";
}
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);
}
}
}