HAARFTE/Assets/DemoGame/GameScript/Hotfix/Procedure/Logic/常规血液与尿液分析Procedure.cs

97 lines
3.9 KiB
C#
Raw Normal View History

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