2023-09-14 15:36:17 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using Cysharp.Threading.Tasks;
|
|
|
|
|
using DragonSoul.Shared;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
using Mono.Event;
|
2023-09-14 15:36:17 +08:00
|
|
|
|
using UnityEngine;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
using UnityEngine.Playables;
|
2023-09-14 15:36:17 +08:00
|
|
|
|
using UnityEngine.UI;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
|
|
|
|
|
namespace UnityTest.ZXL
|
2023-09-12 23:57:06 +08:00
|
|
|
|
{
|
|
|
|
|
public class FirstProcess : ProcessBase
|
|
|
|
|
{
|
2023-09-13 15:04:19 +08:00
|
|
|
|
protected override void OnInit()
|
|
|
|
|
{
|
|
|
|
|
base.OnInit();
|
2023-09-14 15:36:17 +08:00
|
|
|
|
EventManager.Instance.Subscribe(ConstEventArgs.EventId, ConstEventLogic);
|
|
|
|
|
EventManager.Instance.Subscribe(ClickObjectEventArgs.EventId, ClickObjectEvent);
|
|
|
|
|
|
|
|
|
|
// Minutia1_1();
|
2023-09-13 20:15:22 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected override void OnLevel()
|
|
|
|
|
{
|
|
|
|
|
base.OnLevel();
|
2023-09-14 15:36:17 +08:00
|
|
|
|
EventManager.Instance.Unsubscribe(ConstEventArgs.EventId, ConstEventLogic);
|
|
|
|
|
EventManager.Instance.Unsubscribe(ClickObjectEventArgs.EventId, ClickObjectEvent);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ConstEventLogic(object sender, GameEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
var args = e as ConstEventArgs;
|
|
|
|
|
switch (args.constDataType)
|
|
|
|
|
{
|
|
|
|
|
case ConstDataType.None:
|
|
|
|
|
break;
|
|
|
|
|
case ConstDataType.动画2_1播放中断_等待用户点击:
|
|
|
|
|
task_1_1.SetResult(true);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
throw new ArgumentOutOfRangeException();
|
|
|
|
|
}
|
2023-09-13 15:04:19 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-14 15:36:17 +08:00
|
|
|
|
private void ClickObjectEvent(object sender, GameEventArgs e)
|
2023-09-13 15:04:19 +08:00
|
|
|
|
{
|
2023-09-14 15:36:17 +08:00
|
|
|
|
var args = e as ClickObjectEventArgs;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-12 23:57:06 +08:00
|
|
|
|
// 1-1
|
|
|
|
|
// ①来到三维场景,播放动画2-1;当同学A打开乙炔柜体后,乙炔气瓶开关高亮,用户点击后再播放剩余动画、弹出“存在泄露”UI,不断闪烁,并伴随着咻~咻~咻~咻的泄气声,关闭柜门后“存在泄露”UI及泄气声消失;
|
|
|
|
|
// ②此时电脑屏幕高亮,点击后出现电脑画面,画面中“确定”按钮高亮,鼠标点击后,显示启动中UI;
|
|
|
|
|
// ③启动后0.5s,“蹦”的一声,柜体被爆炸打开,气瓶火焰向外喷射,并且光度计发生轻微爆炸,用户屏幕颤抖,三位同学倒地(动画2-2);
|
2023-09-14 15:36:17 +08:00
|
|
|
|
private ETTask<bool> task_1_1;
|
|
|
|
|
|
|
|
|
|
private async ETTask Minutia1_1(ETCancellationToken token)
|
2023-09-13 15:04:19 +08:00
|
|
|
|
{
|
2023-09-17 01:22:28 +08:00
|
|
|
|
await ETTask.CompletedTask;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-12 23:57:06 +08:00
|
|
|
|
// 1-2
|
|
|
|
|
// ①待动画2-2播放完毕,给个视角能看到爆炸处,又能看到其他同学,紧接着播放动画2-3,动画2-3播放同时光度计再次发生了2次轻微爆炸,1s后火焰慢慢变小,并播放动画2-4;(动画2-3、2-4中人物说话时需要弹出气泡框)
|
2023-09-14 15:36:17 +08:00
|
|
|
|
private async ETTask Minutia1_2(ETCancellationToken token)
|
2023-09-13 15:04:19 +08:00
|
|
|
|
{
|
2023-09-14 15:36:17 +08:00
|
|
|
|
await ETTask.CompletedTask;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-12 23:57:06 +08:00
|
|
|
|
// 1-3
|
|
|
|
|
// ①待动画2-4播完,桌上湿抹布高亮点击后弹出文字提示:“气瓶站立燃烧,由于火焰向外喷射,热量并不会直接炙烤气瓶,加上气体气化的吸热现象,气瓶的温度并不会剧烈升高,可按照应急程序,用湿抹布包住手,绕到自喷火口后方,尝试拧紧阀门。(注意:若气瓶倒在地面火焰朝地面喷射,或火焰被物体阻挡烘烤瓶体时,火的热量会导致气瓶内部温度、压力剧烈升高,气瓶瓶体受热强度下降,存在爆炸危险,这时不可盲目接近,所有人应立即迅速撤离现场。)”用户点击“确定”后,播放动画2-5;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
|
2023-09-12 23:57:06 +08:00
|
|
|
|
// ②2-5播放中间,拧紧阀门时弹出选择框
|
|
|
|
|
// 情况一:出气口阀门可以关紧,火焰熄灭,再播放剩余动画;跟同学G说到“已关闭事故瓶出气口阀门,火焰熄灭,周围未有新的引燃物。”,此步骤做完后,直接跳转1-4
|
|
|
|
|
// 情况二:出气口阀门无法关紧,火焰无法熄灭,再播放剩余动画;跟同学G说到:“无法关闭事故瓶出气口阀门,火焰依然燃烧,周围未有新的引燃物。”;随后再继续播放剩余动画;动画播放完毕
|
2023-09-14 15:36:17 +08:00
|
|
|
|
private async ETTask Minutia1_3(ETCancellationToken token)
|
2023-09-13 15:04:19 +08:00
|
|
|
|
{
|
2023-09-14 15:36:17 +08:00
|
|
|
|
await ETTask.CompletedTask;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-09-12 23:57:06 +08:00
|
|
|
|
// 1-4
|
|
|
|
|
// ①视角对准实验室门口,播放动画2-7,动画播完后,视角对准L老师,播放动画2-8,动画播完,弹出 气体探测器结果界面,显示“正常”,点击“进入实验室”按钮;
|
|
|
|
|
// ②播放动画2-9,动画播完,自动跳转至下一步;
|
|
|
|
|
// ③视角来到实验室内,播放动画2-10,待电源开关关闭后,弹出“已确认电源关闭”提示框,点击确认,再播放J老师开门进入实验室动作;弹出再次检查按钮。
|
|
|
|
|
// ④按钮点击后,播放动画2-11,完成后弹出文字提示框:经检测确认气瓶无漏气,爆炸起火周围未有被引燃物品(注意:若有检查到起火点用干粉灭火器将气瓶火焰引燃的周围物品火焰根部喷射,扑灭火焰)。
|
2023-09-14 15:36:17 +08:00
|
|
|
|
private async ETTask Minutia1_4(ETCancellationToken token)
|
2023-09-13 15:04:19 +08:00
|
|
|
|
{
|
2023-09-14 15:36:17 +08:00
|
|
|
|
await ETTask.CompletedTask;
|
2023-09-13 15:04:19 +08:00
|
|
|
|
}
|
2023-09-12 23:57:06 +08:00
|
|
|
|
}
|
|
|
|
|
}
|