using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using UnityEngine.Playables; /// /// 开始选择界面 /// public enum kangYangRegion { None, 健康管理与检测,//健康管理与检测 康复与辅助设备,//康复与辅助设备 环境与交互,//环境与交互 紧急响应与安全//紧急响应与安全 } /// /// 康养仿真设备 /// 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; } } } } /// /// 血压仪动画 /// /// 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); } } /// /// 紧急响应 /// public void EmergencyResponse() { ShuaiDaoIamge.gameObject.SetActive(true); OldManAni.speed = 1; playableDirector.Play(); StartCoroutine(ShowButtonAfterDelay(6f, EmergencyCallBtn)); // 延迟 6 秒后显示按钮 } /// /// 过几秒后显示按钮 /// /// 等待几秒 /// 按钮 /// 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.跑步机) // { // } //} }