172 lines
5.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|