142 lines
3.8 KiB
C#
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.跑步机)
|
|
// {
|
|
|
|
// }
|
|
//}
|
|
|
|
}
|