128 lines
4.8 KiB
C#
128 lines
4.8 KiB
C#
using Cysharp.Threading.Tasks;
|
|
using Unity.Loader;
|
|
using UnityEngine;
|
|
|
|
namespace ZC
|
|
{
|
|
[Procedure(ProcedureType.常规血液与尿液分析Procedure)]
|
|
class 常规血液与尿液分析Procedure : ProcedureBase
|
|
{
|
|
SceneGameObjectBinding binding;
|
|
TriggerEvent triggerEvent;
|
|
|
|
public override void OnEnter()
|
|
{
|
|
base.OnEnter();
|
|
|
|
async UniTask Enter()
|
|
{
|
|
ResourcesLocalComponent.Instance.LoadScene(AssetConst.Assets_DemoGame_GameRes_Scene_ChouXueScene_unity);
|
|
await CommonHelper.CloseLoadingAsync();
|
|
|
|
var introduceUI = (IntroduceUI)Global.UIManager.ShowUI(UIType.IntroduceUI);
|
|
introduceUI.SetData(ConstStr.常规血液与尿液分析, ConstStr.常规血液与尿液分析介绍, IntroduceUI_Callback);
|
|
}
|
|
|
|
Enter().Forget();
|
|
}
|
|
|
|
private void IntroduceUI_Callback()
|
|
{
|
|
Global.UIManager.CloseLast();
|
|
var modelDisplayUI = (ModelDisplayUI)Global.UIManager.ShowUI(UIType.ModelDisplayUI);
|
|
modelDisplayUI.SetData(ModelDisplayUI_Callback);
|
|
}
|
|
|
|
private void ModelDisplayUI_Callback()
|
|
{
|
|
Global.UIManager.CloseLast();
|
|
var minTipsUI = (MinTipsUI)Global.UIManager.ShowUI(UIType.MinTipsUI);
|
|
minTipsUI.SetData("知识点讲解", "常规血液与尿液分析知识点讲解——设备认知之后的", MinTipsUI_Callback);
|
|
}
|
|
|
|
private void MinTipsUI_Callback()
|
|
{
|
|
Global.UIManager.CloseLast();
|
|
var bigTipsUI = (BigTipsUI)Global.UIManager.ShowUI(UIType.BigTipsUI);
|
|
bigTipsUI.SetData("移动到护士身边进行常规血液检查");
|
|
var minTipsUI = (MinTipsUI)Global.UIManager.ShowUI(UIType.MinTipsUI);
|
|
minTipsUI.SetData("知识点讲解1", "常规血液与尿液分析知识点讲解——设备认知之后的1",
|
|
() => { Global.UIManager.HideUI(UIType.MinTipsUI); });
|
|
|
|
binding = GameObject.FindObjectOfType<SceneGameObjectBinding>();
|
|
var gameObject = binding.GetValue("常规血液检查点");
|
|
triggerEvent = gameObject.GetOrAddComponent<TriggerEvent>();
|
|
triggerEvent.SetData(PlayerMoveToPoint);
|
|
}
|
|
|
|
private void PlayerMoveToPoint()
|
|
{
|
|
Global.UIManager.HideUI(UIType.BigTipsUI);
|
|
Global.UIManager.HideUI(UIType.MinTipsUI);
|
|
triggerEvent.Dispose();
|
|
|
|
// 播放抽血动画
|
|
var minTipsUI = (MinTipsUI)Global.UIManager.ShowUI(UIType.MinTipsUI);
|
|
minTipsUI.SetData("知识点讲解2", "常规血液与尿液分析知识点讲解——设备认知之后的2 ----------- 播放抽血动画", () =>
|
|
{
|
|
Global.UIManager.HideUI(UIType.MinTipsUI);
|
|
PlayChouXueAni().Forget();
|
|
});
|
|
}
|
|
|
|
async UniTask PlayChouXueAni()
|
|
{
|
|
await UniTask.Delay(3000);
|
|
|
|
var bigTipsUI = (BigTipsUI)Global.UIManager.ShowUI(UIType.BigTipsUI);
|
|
bigTipsUI.SetData("根据箭头指引让老人去进行尿液取样");
|
|
|
|
GameObject go_NiaoYe;
|
|
go_NiaoYe = binding.GetValue("尿液取样点");
|
|
triggerEvent = go_NiaoYe.GetOrAddComponent<TriggerEvent>();
|
|
triggerEvent.SetData(PlayerMoveToPoint1);
|
|
}
|
|
|
|
private void PlayerMoveToPoint1()
|
|
{
|
|
// 打开U取样面板
|
|
async UniTask RunAsync()
|
|
{
|
|
Global.UIManager.HideUI(UIType.BigTipsUI);
|
|
await UniTask.Delay(3000);
|
|
|
|
var urineSamplingUI = (UrineSamplingUI)Global.UIManager.ShowUI(UIType.UrineSamplingUI);
|
|
urineSamplingUI.SetData(UrineSamplingUI_Callback);
|
|
}
|
|
|
|
triggerEvent.Dispose();
|
|
RunAsync().Forget();
|
|
}
|
|
|
|
private void UrineSamplingUI_Callback()
|
|
{
|
|
Global.UIManager.CloseLast();
|
|
var analysisReportUI = (AnalysisReportUI)Global.UIManager.ShowUI(UIType.AnalysisReportUI);
|
|
analysisReportUI.SetData("血常规与尿液分析报告", null, "血常规与尿液分析报告内容", AnalysisReportUI_Callback);
|
|
}
|
|
|
|
private void AnalysisReportUI_Callback()
|
|
{
|
|
Global.UIManager.CloseLast();
|
|
var answerUI = (AnswerUI)Global.UIManager.ShowUI(UIType.AnswerUI);
|
|
answerUI.SetData(AnswerUI_Callback);
|
|
}
|
|
|
|
private void AnswerUI_Callback()
|
|
{
|
|
async UniTask Close()
|
|
{
|
|
await CommonHelper.OpenLoadingAsync();
|
|
Global.UIManager.CloseLast();
|
|
Global.ProcedureManager.ChangeProcedure(ProcedureType.返回体检场景Procedure);
|
|
}
|
|
|
|
Close().Forget();
|
|
}
|
|
}
|
|
} |