CQ_Intelligent-Technology-T.../Assets/Scripts/Control_Air.cs

172 lines
5.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using TMPro;
using Unity.VisualScripting.Antlr3.Runtime;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 空调控制
/// </summary>
public class Control_Air : MonoBehaviour
{
public static Control_Air Instance;
/// <summary>
/// 制冷按钮
/// </summary>
public Button Cool;
/// <summary>
/// 制热按钮
/// </summary>
public Button Warm;
/// <summary>
/// 温度+
/// </summary>
public Button TempAdd;
/// <summary>
/// 温度-
/// </summary>
public Button TempSub;
/// <summary>
/// 风速+
/// </summary>
public Button WindAdd;
/// <summary>
/// 风速-
/// </summary>
public Button WindSub;
/// <summary>
/// 打开空调
/// </summary>
public Button Open;
/// <summary>
/// 是否开启空调
/// </summary>
bool isOpen;
/// <summary>
/// 点击的空调
/// </summary>
public Transform airobject;
private void Awake()
{
Instance = this;
}
void Start()
{
Open.onClick.AddListener(() =>
{
isOpen = !isOpen;
OpenAir(isOpen);
});
Cool.onClick.AddListener(() =>
{
OpenAir(true);
});
Warm.onClick.AddListener(() =>
{
SetWarm();
});
TempAdd.onClick.AddListener(() =>
{
AddTemp();
});
TempSub.onClick.AddListener(() =>
{
SubTemp();
});
WindAdd.onClick.AddListener(() =>
{
AddWind();
});
WindSub.onClick.AddListener(() =>
{
SubWind();
});
}
/// <summary>
/// 打开空调 默认为制冷
/// </summary>
private void OpenAir(bool isopen)
{
if (isopen)
{
Canvas chirendcanvas = airobject.GetComponentInChildren<Canvas>();
Open.GetComponentInChildren<TextMeshProUGUI>().text = "关闭空调";
chirendcanvas.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
List<TextMeshProUGUI> chirendmessage = chirendcanvas.GetComponentsInChildren<TextMeshProUGUI>().ToList();
airobject.GetChild(0).GetComponentInChildren<MeshRenderer>().material.EnableKeyword("_EMISSION");
chirendmessage[0].text = "16";//温度
chirendmessage[2].text = ">";//风速
chirendmessage[3].text = "制冷";//温度
}
else
{
Canvas chirendcanvas = airobject.GetComponentInChildren<Canvas>();
Open.GetComponentInChildren<TextMeshProUGUI>().text = "打开空调";
chirendcanvas.transform.localScale = new Vector3(0, 0, 0);
airobject.GetChild(0).GetComponentInChildren<MeshRenderer>().material.DisableKeyword("_EMISSION");
}
}
/// <summary>
/// 设置制暖
/// </summary>
private void SetWarm()
{
Canvas chirendcanvas = airobject.GetComponentInChildren<Canvas>();
List<TextMeshProUGUI> chirendmessage = chirendcanvas.GetComponentsInChildren<TextMeshProUGUI>().ToList();
airobject.GetChild(0).GetComponentInChildren<MeshRenderer>().material.EnableKeyword("_EMISSION");
chirendmessage[0].text = "26";
chirendmessage[2].text = ">";//风速
chirendmessage[3].text = "制热";//模式
}
/// <summary>
/// 温度+
/// </summary>
private void AddTemp()
{
Canvas chirendcanvas = airobject.GetComponentInChildren<Canvas>();
List<TextMeshProUGUI> chirendmessage = chirendcanvas.GetComponentsInChildren<TextMeshProUGUI>().ToList();
if (int.Parse(chirendmessage[0].text) < 32)
{
chirendmessage[0].text = (int.Parse(chirendmessage[0].text) + 1).ToString();
}
}
/// <summary>
/// 温度-
/// </summary>
private void SubTemp()
{
Canvas chirendcanvas = airobject.GetComponentInChildren<Canvas>();
List<TextMeshProUGUI> chirendmessage = chirendcanvas.GetComponentsInChildren<TextMeshProUGUI>().ToList();
if (int.Parse(chirendmessage[0].text) > 16)
{
chirendmessage[0].text = (int.Parse(chirendmessage[0].text) - 1).ToString();
}
}
/// <summary>
/// 风速+
/// </summary>
private void AddWind()
{
Canvas chirendcanvas = airobject.GetComponentInChildren<Canvas>();
List<TextMeshProUGUI> chirendmessage = chirendcanvas.GetComponentsInChildren<TextMeshProUGUI>().ToList();
if (chirendmessage[2].text.Length < 3)
{
chirendmessage[2].text += ">";
}
}
/// <summary>
/// 风速-
/// </summary>
private void SubWind()
{
Canvas chirendcanvas = airobject.GetComponentInChildren<Canvas>();
List<TextMeshProUGUI> chirendmessage = chirendcanvas.GetComponentsInChildren<TextMeshProUGUI>().ToList();
if (chirendmessage[2].text.Length > 1)
{
chirendmessage[2].text = chirendmessage[2].text.Substring(0, chirendmessage[2].text.Length - 1);
}
}
}