修改了插头的功能,增加了插头触发对话,保险起见只触发一次

This commit is contained in:
2024-11-15 01:20:32 +08:00
parent 40bd8a7475
commit c01b55806f
4 changed files with 169 additions and 68 deletions
+86 -35
View File
@@ -71,6 +71,7 @@ position: 241,-2149
//是否已经见过UF
<<declare $ufSeen=false>>
//是否已知:为什么要使用UF
<<declare $ufKnown=false>>
<<declare $ufpurposeKnown=false>>
//是否已知:色觉芯片是缺失的
<<declare $chipmissingKnown=false>>
@@ -89,11 +90,49 @@ position: 241,-2149
//clueboard相关
<<declare $StartNode="">>
<<declare $EndNode="">>
//插线
<<declare $currentSocket="">>
<<declare $PlugCount=0>>
<<declare $PlugAll=false>>
<<jump 引入对话>>
===
title: PlugInsert
tags: 待编辑
colorID: 8
position: -227,-2451
---
<<if $PlugCount==7>>
<<set $PlugAll=true>>
<<endif>>
<<if $currentSocket=="UFView"&& visited("UfViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump UfViewDialogue>>
<<elseif $currentSocket=="ColorView"&& visited("ChipViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump ChipViewDialogue>>
<<elseif $currentSocket=="EyeView"&& visited("EyeViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump EyeViewDialogue>>
<<elseif $currentSocket=="EmoView"&& visited("EmoViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump EmoViewDialogue>>
<<elseif $currentSocket=="LogicView"&& visited("LogicViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump LogicViewDialogue>>
<<elseif $currentSocket=="SpeakView"&& visited("SpeakViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump SpeakViewDialogue>>
<<elseif $currentSocket=="MemoryView"&& visited("MemViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump MemViewDialogue>>
<<endif>>
===
title: 引入对话
tags:
@@ -347,8 +386,13 @@ position: -1098,-2867
title: 主维修界面
tags:
colorID: 3
position: 244,-601
position: 246,-601
---
<<if $gameStage>2>>
<<if $PlugAll==true>>
<<complete_task TaskManager 可选:头部全面检查>>
<<endif>>
<<endif>>
// //<<SetHeat Plug 1>>
<<if $isLineCut==true && $isFinishedEyeCheck == -1>>
<<jump 回到日常界面>>
@@ -1372,7 +1416,11 @@ tags:
colorID: 8
position: 240,-2960
---
<<if visited("MemViewDialogue")==false>>
记忆模块运转状况良好
<<endif>>
===
@@ -1381,7 +1429,7 @@ position: 240,-2960
title: UfViewDialogue
tags:
colorID: 8
position: 27,-1752
position: -69,-2183
---
//第一次看
<<if $ufDiscussCount == 0>>
@@ -1453,8 +1501,10 @@ position: 480,-2760
---
//第一次看
<<if $eyeDiscussCount == 0>>
<<if visited("EyeViewDialogue")==false>>
me: 这就是佩佩的视觉模块了。
me: 美工的眼睛,一定很珍贵吧。
<<endif>>
<<if $eyeproblemKnown == true>>
<<if $ufDiscussCount > 1.5>>
me: 但是工作上她并不是真正地在画画…
@@ -1464,39 +1514,40 @@ position: 480,-2760
me: 所以才导致她持续性的眼睛干涩吧。
<<endif>>
<<endif>>
//探测到缺陷后
<<elseif $eyeDiscussCount == 1>>
<<if $eyenocolorKnown == true>>
me:我刚才看错了吗?佩佩的视觉里…
me: 不对不对…得再回去看看。
<<else>>
me: 探针在视觉模块找到了缺陷……
<<if $eyeproblemKnown == true>>
me: 佩佩也自述长期眼睛酸涩…看来这个问题存在很久了。
<<endif>>
<<if $chipmissingKnown == true>>
me: 这会和色觉晶圆的缺失有关系吗?
<<else>>
<<if $ufDiscussCount > 1.5>>
me: 可是佩佩不是用UF绘图的吗?
me: 理论上不应该有那么重的视觉模块负担才对啊……
<<elseif $ufKnown == true>>
me: 这会和UF模块有关系吗?
<<else>>
me: 看来美工的工作并不轻松啊。
<<endif>>
<<endif>>
me: 总之…深入检查一下吧。
<<endif>>
//深度完成后
<<elseif $eyeDiscussCount == 2>>
me: 谁能想到一个创造色彩的美工,自己竟然是看不见颜色的…
<<if $chipmissingKnown == false>>
me: 可这是为什么呢?
<<endif>>
<<elseif $eyeDiscussCount == 3>>
me: 可惜…连最后一点颜色也没能保住。
<<endif>>
// //探测到缺陷后
// <<elseif $eyeDiscussCount == 1>>
// <<if $eyenocolorKnown == true>>
// me:我刚才看错了吗?佩佩的视觉里…
// me: 不对不对…得再回去看看。
// <<else>>
// me: 探针在视觉模块找到了缺陷……
// <<if $eyeproblemKnown == true>>
// me: 佩佩也自述长期眼睛酸涩…看来这个问题存在很久了。
// <<endif>>
// <<if $chipmissingKnown == true>>
// me: 这会和色觉晶圆的缺失有关系吗?
// <<else>>
// <<if $ufDiscussCount > 1.5>>
// me: 可是佩佩不是用UF绘图的吗?
// me: 理论上不应该有那么重的视觉模块负担才对啊……
// <<elseif $ufKnown == true>>
// me: 这会和UF模块有关系吗?
// <<else>>
// me: 看来美工的工作并不轻松啊。
// <<endif>>
// <<endif>>
// me: 总之…深入检查一下吧。
// <<endif>>
// //深度完成后
// <<elseif $eyeDiscussCount == 2>>
// me: 谁能想到一个创造色彩的美工,自己竟然是看不见颜色的…
// <<if $chipmissingKnown == false>>
// me: 可这是为什么呢?
// <<endif>>
// <<elseif $eyeDiscussCount == 3>>
// me: 可惜…连最后一点颜色也没能保住。
// <<endif>>
===
@@ -104,6 +104,14 @@ position: 240,-2040
<<declare $findChipFromForClueBoard=false>>
<<declare $memoryColorFadeKnown=false>>
//插线
<<declare $currentSocket="">>
<<declare $PlugCount=0>>
<<declare $PlugAll=false>>
<<jump 引入对话>>
===
@@ -254,7 +262,7 @@ me: 事不宜迟,开始诊疗吧。
title: 诊断初始化
tags:
colorID: 3
position: 240,-1332
position: 240,-1335
---
<<fade_in 1>>
<<load_scene 佩佩视觉模块>>
@@ -306,8 +314,12 @@ tags:
colorID: 3
position: 238,-429
---
<<if $gameStage>1>>
<<if $PlugAll==true>>
<<complete_task TaskManager 进行全身检查>>
<<endif>>
<<endif>>
<<if $gameStage == 0>>
Debug在stage0
<<jump 流程结束>>
<<elseif $gameStage == -1>>
@@ -327,7 +339,6 @@ position: 238,-429
// <<add_task TaskManager "进行全身检查" "找到发热的原因">>
// <<task_moveIn TaskManager>>
<<endif>>
在stage1
<<if $isFinishedEyeCheck==-1&&$feverCount==1>>
me: 又发热了?
me: 再次降温吧
@@ -338,7 +349,6 @@ position: 238,-429
<<endif>>
<<elseif $gameStage == 2>>
Debug在stage2
// <<if $UFInnerSeen&&$isFinishedEyeCheck==0&&$feverCount==2>>
// me: UF到底把信息传递给了谁?
// me: 最好再检查一下各个模块。
@@ -363,12 +373,10 @@ position: 238,-429
<<set_EyeState EyeManager "CannotImagineColor">>
<<add_task TaskManager "在视觉模块验证想象力">>
<<task_moveIn TaskManager>>
Debug在stage3
//准备尝试停止想象
<<elseif $gameStage == 4>>
me: 我不应该允许她这么做的…赶紧降温!
Debug在stage4
//拆除UF前尝试降温
<<if $feverTimer == 0>>
<<ShowHeatMap Plug true>>
@@ -376,7 +384,6 @@ Debug在stage4
<<endif>>
<<elseif $gameStage == 5>>
Debug在stage5
//<<jump 检查UF固定螺丝移除>>
// me: 温度应该降下来了
// 【检查确认】
@@ -388,13 +395,11 @@ Debug在stage4
//拆除UF
<<elseif $gameStage == 6>>
Debug在stage6
<<jump Clueboard2>>
//第二次进clueboard
//TODO-理论上应该还是在同一个Clueboard处理?
<<elseif $gameStage == 7>>
Debug在stage7
<<if $isPeipeiBE==true>>
<<add_task TaskManager "执行手术-色彩记忆初始化">>
<<task_moveIn TaskManager>>
@@ -904,7 +909,7 @@ me:这里似乎没什么新的症状可收集了
title: EmoViewDialogue
tags: 待编辑
colorID: 8
position: 0,-3040
position: -2,-3039
---
//待编辑
受到发热的影响,佩佩的情绪非常焦躁
@@ -924,6 +929,7 @@ colorID: 8
position: 480,-3040
---
//待编辑
受到发热的影响,佩佩有点神智不清
===
title: ChipViewDialogue
@@ -931,16 +937,16 @@ tags: 待编辑
colorID: 8
position: 240,-2840
---
//待编辑
佩佩很焦虑,不知道该怎么办了
待编辑
//佩佩很焦虑,不知道该怎么办了
===
title: MemViewDialogue
tags: 待编辑
colorID: 8
position: 240,-3040
position: 239,-3038
---
//待编辑
总体表现:对工作的焦虑、虚弱的身体状态
待编辑
//总体表现:对工作的焦虑、虚弱的身体状态
===
title: UfViewDialogue
tags: 待编辑
@@ -976,6 +982,9 @@ tags: 待编辑
colorID: 8
position: 992,-1578
---
<<if $PlugCount==7>>
<<set $PlugAll=true>>
<<endif>>
<<if $gameStage==1>>
<<if $feverTimer==0>>
<<if $feverCount==0>>
@@ -997,6 +1006,32 @@ position: 992,-1578
<<endif>>
<<endif>>
<<endif>>
<<if $feverTimer!=0>>
<<if $currentSocket=="UFView"&& visited("UfViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump UfViewDialogue>>
<<elseif $currentSocket=="ColorView"&& visited("ChipViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump ChipViewDialogue>>
<<elseif $currentSocket=="EyeView"&& visited("EyeViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump EyeViewDialogue>>
<<elseif $currentSocket=="EmoView"&& visited("EmoViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump EmoViewDialogue>>
<<elseif $currentSocket=="LogicView"&& visited("LogicViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump LogicViewDialogue>>
<<elseif $currentSocket=="SpeakView"&& visited("SpeakViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump SpeakViewDialogue>>
<<elseif $currentSocket=="MemoryView"&& visited("MemViewDialogue")==false>>
<<set $PlugCount+=1>>
<<jump MemViewDialogue>>
<<endif>>
<<endif>>
===
title: EnterRepairMode
tags: 待编辑
@@ -1042,7 +1077,7 @@ position: -515,-1156
title: 第一次降温
tags:
colorID: 8
position: 1385,-1179
position: 1379,-1199
---
//<<SetHeat Plug 0>>
<<set $feverCount=1>>
@@ -1122,12 +1157,12 @@ me: 直接UF拆开来进行内部检查…或者继续找找线索。
title: 存档1
tags:
colorID: 6
position: 1382,-1464
position: 1769,-1106
---
//TODO-等发热检测和降温拆开之后,这里改为仅用作降温完毕的对话
<<fade_in 1>>
//<<fade_in 1>>
<<wait 1>>
<<fade_in out>>
<<fade_out 1>>
->拆开UF
<<add_task TaskManager "拆开UF外壳">>
管不了那么多了…来吧。
@@ -1623,7 +1658,7 @@ peipei: 忽然感觉头晕
title: EGCViewDialogue
tags:
colorID: 8
position: 1160,-3040
position: 1170,-3043
---
//检视心率仪时的对话
===
@@ -1668,15 +1703,15 @@ position: 995,-1287
<<ShowHeatMap Plug true>>
// ->开始降温
// <<jump 发热降温>>
<<else>>
//TODO-理论上这里只有插不同的模块才会弹出对话,但不知道怎么做——应该取决于降温工具怎么呼出
//TODO-现在是把检测温度和降温放在一起做的,之后要拆开
me: 果然,其他模块也无法正常工作……应该是引起了主板的过热。
me: 看来只有把温度降下来才能继续检查。
->开始降温
<<jump 发热降温>>
->继续检查
<<jump 主维修界面>>
// <<else>>
// //TODO-理论上这里只有插不同的模块才会弹出对话,但不知道怎么做——应该取决于降温工具怎么呼出
// //TODO-现在是把检测温度和降温放在一起做的,之后要拆开
// me: 果然,其他模块也无法正常工作……应该是引起了主板的过热。
// me: 看来只有把温度降下来才能继续检查。
// ->开始降温
// <<jump 发热降温>>
// ->继续检查
// <<jump 主维修界面>>
<<endif>>
===
// title: 过热时插线的对话_2
+2 -2
View File
@@ -183,7 +183,7 @@ public class Plug : MonoBehaviour, IDragHandler, IPointerDownHandler, IPointerUp
{
currentSocket = closestSocket;
currentSocket.InsertPlug(this);
initialSocket.InsertPlug(this);
//initialSocket.InsertPlug(this);
OnPlugInserted?.Invoke(this); // 触发插入事件
transform.position = currentSocket.GetPosition();
plugSprite.enabled = false;
@@ -196,7 +196,7 @@ public class Plug : MonoBehaviour, IDragHandler, IPointerDownHandler, IPointerUp
{
//transform.rotation = startRotation;
initialSocket.InsertPlug(this);
OnPlugInserted?.Invoke(this); // 触发插入事件
//OnPlugInserted?.Invoke(this); // 触发插入事件
plugSprite.enabled =false; // Make the plug sprite disappear when it is inserted into the initial socket.
});
}
@@ -123,7 +123,9 @@ public class OscilloscopeController : MonoBehaviour
}
private void HandlePlugInserted(Plug plug)
{
DialogController.Instance.SetVariable("$currentSocket",plug.currentSocket.name);
string originalString = plug.currentSocket.name;
string trimmedString = originalString.Replace("Socket", "");
DialogController.Instance.SetVariable("$currentSocket",trimmedString);
DialogController.Instance.StartDialogNode("PlugInsert");
// 这里可以处理插入后的波形显示逻辑
Debug.Log("Plug inserted into the socket, starting waveform display.");
@@ -341,10 +343,23 @@ private IEnumerator ScanForError(string trimmedString)
if(targetData.HasExternalError())
{
screenText.text="外部错误已关联,可以直接入";
screenText.text="记忆模块,允许直接入";
//waveformVisualizer.gameObject.SetActive(false);
return;
}
else if(currentSocket.targetData.isCorrect)
{
string originalString = currentSocket.name;
string trimmedString = originalString.Replace("Socket", "");
screenText.text=trimmedString+ ":未检测到错误";
return;
}
else if(!currentSocket.targetData.isCorrect)
{
string originalString = currentSocket.name;
string trimmedString = originalString.Replace("Socket", "");
screenText.text=trimmedString+ ":检测到异常,请寻找错误深入";
}
if(!setInitSliderValue)
{