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

68 lines
1.7 KiB
C#

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 控制窗户
/// </summary>
public class Control_Windows : MonoBehaviour
{
public static Control_Windows Instance;
/// <summary>
/// 开/关窗户
/// </summary>
//public Button openwindows;
/// <summary>
/// 点击的窗户
/// </summary>
public Transform window;
public Toggle open;
public Toggle close;
private void Awake()
{
Instance = this;
}
void Start()
{
//openwindows.onClick.AddListener(() => { Openwindows(); });
}
// Update is called once per frame
void Update()
{
}
public void Openwindows()
{
StartCoroutine(Openwindow());
}
/// <summary>
/// 开关窗户
/// </summary>
/// <returns></returns>
IEnumerator Openwindow()
{
if (window.GetComponent<SkinnedMeshRenderer>().GetBlendShapeWeight(0) == 0)
{
close.isOn = false;
//openwindows.GetComponentInChildren<TextMeshProUGUI>().text = "关窗";
for (int i = 1; i < 101; i++)
{
window.GetComponent<SkinnedMeshRenderer>().SetBlendShapeWeight(0, i);
yield return new WaitForSeconds(0.025f);
}
}
else if (window.GetComponent<SkinnedMeshRenderer>().GetBlendShapeWeight(0) == 100)
{
open.isOn = false;
//openwindows.GetComponentInChildren<TextMeshProUGUI>().text = "开窗";
for (int i = 100; i >= 0; i--)
{
window.GetComponent<SkinnedMeshRenderer>().SetBlendShapeWeight(0, i);
yield return new WaitForSeconds(0.025f);
}
}
}
}