CQ_Intelligent-Technology-T.../Assets/Scripts/康养仿真/ClickKangYangdevice.cs

142 lines
3.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using UnityEngine.Playables;
/// <summary>
/// 开始选择界面
/// </summary>
public enum kangYangRegion
{
None,
,//健康管理与检测
,//康复与辅助设备
,//环境与交互
//紧急响应与安全
}
/// <summary>
/// 康养仿真设备
/// </summary>
public enum KangYangDevice
{
None,
,
,
}
public class ClickKangYangdevice : MonoBehaviour
{
public static ClickKangYangdevice Instance;
public KangYangDevice kangYangDevice = KangYangDevice.None;
public SkinnedMeshRenderer XueYaYiSMR;//血压计动画
public RawImage ShuaiDaoIamge;//紧急呼叫
public Animator OldManAni;//NPC动画
public PlayableDirector playableDirector;//timeline动画
public Button EmergencyCallBtn;//右下角紧急呼叫按钮
private void Awake()
{
Instance = this;
}
public void Init()
{
XueYaYiSMR.SetBlendShapeWeight(0,0);
ShuaiDaoIamge.gameObject.SetActive(false);
OldManAni.speed = 0;
playableDirector.Pause();
}
// Start is called before the first frame update
void Start()
{
Init();
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
bool raycast = Physics.Raycast(ray, out hit);
if (raycast)
{
switch (KangYangMangner.Instance.kangYangregion)
{
case kangYangRegion.:
if (hit.collider.gameObject.name == "血压计")
{
StartCoroutine(Sphygmomanometer());
}
break;
}
}
}
}
/// <summary>
/// 血压仪动画
/// </summary>
/// <returns></returns>
IEnumerator Sphygmomanometer()
{
yield return new WaitForSeconds(0.1f);
for (int i = 0; i < 100; i++)
{
yield return new WaitForSeconds(0.01f);
XueYaYiSMR.SetBlendShapeWeight(0, i);
}
}
/// <summary>
/// 紧急响应
/// </summary>
public void EmergencyResponse()
{
ShuaiDaoIamge.gameObject.SetActive(true);
OldManAni.speed = 1;
playableDirector.Play();
StartCoroutine(ShowButtonAfterDelay(6f, EmergencyCallBtn)); // 延迟 6 秒后显示按钮
}
/// <summary>
/// 过几秒后显示按钮
/// </summary>
/// <param name="delay">等待几秒</param>
/// <param name="Btn">按钮</param>
/// <returns></returns>
IEnumerator ShowButtonAfterDelay(float delay,Button Btn)
{
yield return new WaitForSeconds(delay);
Btn.gameObject.SetActive(true);
}
//public void OnMouseDown()
//{
// if (EventSystem.current.IsPointerOverGameObject())
// {
// return;
// }
// if (/*KangYangMangner.Instance.kangYangregion == kangYangRegion.血压测量启动 &&*/ kangYangDevice == KangYangDevice.血压计)
// {
// if (show == false)
// return;
// if (weight < 100f)
// {
// weight += 1.8f;
// XueYaYiSMR.SetBlendShapeWeight(0, weight);
// Debug.Log(show);
// }
// }
// else if (KangYangMangner.Instance.kangYangregion == kangYangRegion.健康数据查看 && kangYangDevice == KangYangDevice.手环)
// {
// }
// else if (KangYangMangner.Instance.kangYangregion == kangYangRegion.健康数据查看 && kangYangDevice == KangYangDevice.跑步机)
// {
// }
//}
}