Merge branch 'feature/春晖9.8' into 'develop'

Feature/春晖9.8

See merge request aibis-dream/aibis-dream!30
This commit is contained in:
2024-09-08 08:33:50 +00:00
2 changed files with 195 additions and 76 deletions
+188 -72
View File
@@ -12,6 +12,8 @@ position: 55,-1208
title: TV
position: 66,-976
---
//这一段感觉有点生硬了,可能最好是电视上播放一些内容,你对电视内容发表评价,然后突然听到门外的声音,你把电视关了,然后门外对话开始
//感觉不用为了介绍这个世界观特意这么写233
我: 我是幸福罐头园区员工诊所的一名机器人医生。
我: 是的,如今世界的绝大多数人都已经接受了机器化改造,被称为机器人。
我: 不过机器人也会生病。我的工作就是把公司生病的机器人治好,让他们能够重返工作岗位。
@@ -37,6 +39,7 @@ position: 69,-716
<<indoor>>
///<<窗外出现两个人影>>
//////都是问号,除了音频怎么区分两个陌生人?——我记得之前聊过更改冒泡框的方案
//////这里可以不可以强调你以前不是这样的,因为工作量上来之前佩佩是可以完成的,慢慢的越来越难,后来质量也出了问题
???: 我不希望就因为你的这个怪病,而让我们部门的评价受到影响。
??: 我没病,组长……我会完成得很好的。相信我。我以前……
???: 我不在乎你之前做得有多好,那对我来说没有任何意义。
@@ -70,10 +73,12 @@ position: 69,-488
//<<Flip BookManager 1 >>
//[command name=listen_closeBook /]
//->CloseBook
我: 当然没问题。美工组的佩佩,是么?
//////美工对于一些美术来说是敏感词,最好换个说法
我: 当然没问题。绘图组的佩佩,是么?
佩佩: 是的…你怎么知道的?
我: 无意偷听,但是你们刚才就站在我的门口。
我: 说说吧,你的身体怎么了,感觉哪里不舒服吗?
//不知道能不能让这段对话更有意思
佩佩: 倒也没有哪里不舒服……只是最近工作表现很差。
佩佩: 有的时候任务量一大,产出的图也就跟着出问题了。
佩佩: 这次也是一样,我也不知道为什么…画出来的图根本不能用。
@@ -115,19 +120,24 @@ position: 71,-262
<<declare $MemorySocketVisited_PeipeiTalk = false>>
<<declare $surgery_PeipeiTalk = false>>
<<declare $ColorModuleVisited_PeipeiTalk = false>>
我: 好了,先简单检查下你各个头部模块的状态吧。
<<declare $firstUFdiscuss_PeipeiTalk = false>>
<<declare $firstUFdiscussQ1Visited_PeipeiTalk = false>>
<<declare $firstUFdiscussQ2Visited_PeipeiTalk = false>>
<<declare $firstUFdiscussQ3Visited_PeipeiTalk = false>>
//我: 好了,先简单检查下你各个头部模块的状态吧。
<<add_task TaskManager "使用检查线检查头部模块">>
<<wait 0.5>>
<<task_moveIn TaskManager>>
<<jump Choice>>
===
title: Choice
position: 76,20
position: 74,15
---
<<start_transition ViewManager "MainView">>
<<if $FirstVisitedHead_PeipeiTalk==false>>
<<set $FirstVisitedHead_PeipeiTalk=true>>
我: 我还是第一次看美工的头部…看起来和别人的有些不一样。
//美工可能对一些美术有冒犯,我改了下
我: 我还是第一次看绘图改造人的头部…看起来和别人的有些不一样。
我: 总之,先插线检查一下每个模块吧。
<<endif>>
<<if $surgery_PeipeiTalk==true>>
@@ -135,7 +145,9 @@ position: 76,20
<<set_line_cuttable LineManager MemoryEye true>>
<<jump Surgery>>
<<elseif $UFVisited_PeipeiTalk==false&&$EyeVisited_PeipeiTalk==true&&$FirstModuleVisited_PeipeiTalk==false>>
我: 她的视觉还保留有想象力,不过这不应该影响工作,看来只有看看UF才知道原因了
//视觉保有想象力是有点奇怪的说法,我们这时候还没有抛出想象力
我: 她的视觉能够过程化的填补颜色...
我: 不过这不应该影响工作,看来只有看看UF才知道原因了
<<set $FirstModuleVisited_PeipeiTalk=true>>
<<elseif $UFVisited_PeipeiTalk==true&&$EyeVisited_PeipeiTalk==false&&$EyeSocketVisited_PeipeiTalk==false&&$FirstModuleVisited_PeipeiTalk==false>>
我: 她的UF无法调用到足够的记忆素材,需要看看是什么模块占用到了
@@ -159,49 +171,38 @@ position: 76,20
<<endif>>
[command name=activate_socket_choice /]
-> UFView
//插入UF模块
<<messagebox MessageBox "warning" "工作异常,请进行快速绘图测试">>
<<if $UFSocketVisited_PeipeiTalk==false>>
<<set $UFSocketVisited_PeipeiTalk= true>>
我: 你的左眼是被改造过的…这就是你说的UF模块
我: UFSocketVisited_PeipeiTalk
佩佩: 啊,工作异常?怪不得它最近画的图都那么奇怪……
我: 它画的图?
佩佩: 是的。毕竟所有的图片都是它生产出来的。
我: 就像画笔一样,对吧。
佩佩: 哈哈,可惜不是喔。
佩佩: UF是独立的模块,它自己就能生成图片。
我: 自己就能生成图片…?
//////需要确认具体绘图的方式
佩佩: 是的。我只需要在脑袋里和它对话,描述我需要的图片,它就能生成出来了。
我: 明白了……
//->查询手册
//<<OpenBook BookManager>>
//<<Flip BookManager 3 >>
//[command name=listen_closeBook /]
//->CloseBook
//<<解锁条目-UF模块1>>
我: 报错提示我需要进行一次绘图测试……
<<add_task TaskManager "对UF模块进行快速绘图测试" "使用检查线检查头部模块">>
->进行快速绘图
我: 佩佩,你可以操作UF进行一次快速绘图测试吗?这样我好根据结果判断它的问题。
//////这里最好检测一下玩家有没有看过书,如果看过了
//////UF模块会不断拿素材进行学习,工作会对这些学习造成某种消耗,所以工作越多,就会学习得越多(“工作压力”不是即时的)
//->查询手册
//<<OpenBook BookManager>>
//<<Flip BookManager 3 >>
//[command name=listen_closeBook /]
//->CloseBook
佩佩: 当然,医生。
<<jump UFtest>>
->先看看其他模块
我: 不着急,我们先把其他部分检查完。
<<jump Choice>>
//插入UF模块
<<messagebox MessageBox "normal" "正在进行检测...请稍后">>
<<Disable_plugInput Plug>>
<<wait 1.5>>
<<Enable_plugInput Plug>>
我:(自言自语)右眼是被改造过的…似乎是嵌入了一个额外模组
///这里虽然理论上玩家可以翻书,但是感觉流程上还是要简单的有
我: 佩佩,你的右眼改造是用来做什么的?
我: 啊,那个是公司安装模组,如果要做绘图都需要安装
我:(自言自语)看起来是绘图增强吧
<<messagebox MessageBox "warning" "UF模块工作异常,缺少信息,无法定位问题">>
//<<messagebox MessageBox "warning" "UF模块工作异常,请进行快速绘图测试获取进一步报错信息">>
<<Disable_plugInput Plug>>
<<wait 1.5>>
<<Enable_plugInput Plug>>
我: 报错了,果然,模块运转不正常...而且好烫
我: 可能需要尝试深入检查下
->进行深入检查
<<jump UFtestDiscuss>>
->先看看其他模块
我: 不着急,我们先把其他部分检查完。
<<jump Choice>>
<<elseif $UFSocketVisited_PeipeiTalk==true&&$UFVisited_PeipeiTalk==false>>
我: 我需要进行快速绘图才能知道UF具体出现了什么问题……
->进行绘图测试
我: 来吧,佩佩。
<<jump UFtest>>
//我: 我需要进行快速绘图才能知道UF具体出现了什么问题……
<<messagebox MessageBox "warning" "UF模块工作异常,缺少信息,无法定位问题">>
我: 我需要深度检查才能知道UF具体出现了什么问题……
->进行深度检查
//->进行绘图测试
//我: 来吧,佩佩。
<<jump UFtestDiscuss>>
->先看看其他模块
我: 还是再看看其他部分吧。
<<jump Choice>>
@@ -218,7 +219,7 @@ position: 76,20
<<messagebox MessageBox "warning" "被质询的记忆访问,请测试以生成特征码">>
我: 这个报错信息是什么意思?……最好进去看看。
<<add_task TaskManager "深入视觉模块进行检查" "使用检查线检查头部模块">>
->检查视觉
->深入检查视觉
<<jump EyeView>>
->先看看其他模块
<<jump Choice>>
@@ -278,6 +279,11 @@ position: 76,20
<<endif>>
<<jump Choice>>
===
// title: question
// position: 553,9
// ---
// ===
title: EyeView
position: 553,9
---
@@ -309,17 +315,32 @@ position: 553,9
//////春晖:理论上如果看到记忆提取不顺利,那肯定直接看记忆了——感觉如果是“记忆那儿显示问题是视觉在调用东西”,再回到视觉来发现这个问题,逻辑上也是OK的?
//////子钦:是否考虑玩家可以通过两种方式发现佩佩的想象力?①看UF-调用记忆有问题→看记忆-调用记忆的是视觉(需要在视觉复现调用过程来生成可以查找记忆的特征码)→看视觉-佩佩透露自己能想象颜色;②看视觉-看不见颜色→细聊关于颜色-佩佩透露自己能想象颜色
//////这样可能的好处:提前cue出“有一个神秘进程”
//////春:处理1:主线是走UF-记忆-视觉的,也可以提前看视觉,但是不会发现视觉有问题,你发现记忆是被视觉引用了一部分,你和佩佩聊完,佩佩决定相信你,让你不要告诉别人,和你说了这件事
//////春:不过这需要day1的结局处理谨慎,否则显得有点惨,另外和石头有点像
//////春:处理2:UF看完看记忆,但是需要特征码来搜寻,你没有这个特征码,没有头绪,就可以先看看记忆,看记忆的过程中发现没问题,但是疑惑佩佩为什么会眼睛痛,佩佩相信你,让你不要高速别人,和你说了这件事
我: 这听起来…太令人难以接受了。
佩佩: 哎…但我们没有选择。
佩佩: 不过我想,这就是代价吧。想要把画画作为工作,必须要付出的代价。
我: 可是你不是说画都是UF画出来的吗?那你现在这样…也不是在画画啊。
佩佩: ……
佩佩: 其实也不必为我过度担心啦,医生。我还是有办法的。
我: 什么意思?
佩佩: 医生...
我:啊怎么了佩佩,不舒服么?
佩佩: 没有...
佩佩: 你是一位能保守秘密的医生么?
我: 我想我是的,怎么突然问这个?
佩佩: 对医生,是不能说谎的,对吧
佩佩: 我小时候就经常生病,有一次了能出去玩,我说谎了
佩佩: 那一次我昏迷了很久,醒过来,医生很生气
佩佩: 他很关心我,但是我让他失望了,没有能照顾好自己
佩佩: 我想,对医生不应该说谎
佩佩: 但是...你要为我保守秘密!
我: 我会的佩佩,我会为你保守秘密的
// 佩佩: 哎…但我们没有选择。
// 佩佩: 不过我想,这就是代价吧。想要把画画作为工作,必须要付出的代价。
// 我: 可是你不是说画都是UF画出来的吗?那你现在这样…也不是在画画啊。
// 佩佩: ……
// 佩佩: 其实也不必为我过度担心啦,医生。我还是有办法的。
// 我: 什么意思?
//////等待底图确认
// <<set_Eyetarget EyeManager "background">>
///现在好像有点难保证是夕阳,但是窗外可以保证
佩佩: 看到窗外的夕阳了吗?
佩佩: 看到窗外的蓝天了吗?
我: 嗯,怎么了?
<<set_Eyetarget EyeManager "sky">>
<<set_EyeState EyeManager "CanImagineColor">>
@@ -327,8 +348,8 @@ position: 553,9
我: 啊…这是怎么做到的?
佩佩: 我不知道怎么说……我就是记得它是这个颜色。
我: 记得?
佩佩: 医生,你应该也有关于夕阳的珍贵记忆吧。你还记得在那段记忆里,夕阳是什么颜色的吗?
佩佩: 你一定是记得的,我也是。夕阳的颜色不是那么容易被忘记的。
佩佩: 医生,你应该也有关于天空的珍贵记忆吧。你还记得在那段记忆里,天空是什么颜色的吗?
佩佩: 你一定是记得的,我也是。天空的颜色不是那么容易被忘记的。
我: 从机制层面来说,你没有色觉信号输入,就不应该看到颜色。
佩佩: 好吧……我也不知道怎么解释了。总之,我就是能看到我印象中的颜色。
我: 嗯……我需要对你做一个色觉检测。
@@ -377,8 +398,10 @@ position: 553,9
===
title: EyeJudgment
position: 361,-243
position: 447,-258
---
//////这里我在考虑的是书上没有这个症状,因为真的很特殊,Day1可以不提神秘进程
//////这神秘进程是线剪断之后,对于还是不断发出访问命令的进程的称呼
<<messagebox MessageBox "normal" "记忆访问已生成特征码:E1F32B7">>
我: 我需要对佩佩的视觉模块病情做出诊断。
->(占位)佩佩的色觉失效了,所以调用记忆来想象颜色
@@ -404,15 +427,109 @@ position: 361,-243
<<jump EyeJudgment>>
===
title: UFtestDiscuss
position: -552,-78
---
<<start_transition ViewManager "MainView">>
<<if $firstUFdiscuss_PeipeiTalk==false>>
<<set $firstUFdiscuss_PeipeiTalk=true>>
//////Q:需要确认"启动绘图检查"的交互形式
<<messagebox MessageBox "warning" "拒绝访问,不具有权限,进行外部绘图测试获取报错信息">>
<<Disable_plugInput Plug>>
<<wait 1>>
<<Enable_plugInput Plug>>
我: 嗯?居然是加密模块,只能从外部检查
我: 看来要获取这个模块的更多信息,只能进行绘图测试了
<<add_task TaskManager "对UF模块进行快速绘图测试" "使用检查线检查头部模块">>
//我: (自言自语)下一步应该怎么做?
//////春:这里怎么突然插了一句指令,我注释掉,填补下逻辑
// 佩佩: 是的。我只需要在脑袋里和它对话,描述我需要的图片,它就能生成出来了。
// 我: 明白了……
// 我: UFSocketVisited_PeipeiTalk
// 佩佩: 啊,工作异常?怪不得它最近画的图都那么奇怪……
// 我: 它画的图?
// 佩佩: 是的。毕竟所有的图片都是它生产出来的。
//////其实这里没太懂
// 我: 就像画笔一样,对吧。
//////感觉现在佩佩不太是开玩笑的心情
// 佩佩: 哈哈,可惜不是喔。
//////需要确认具体绘图的方式
//->查询手册
//<<OpenBook BookManager>>
//<<Flip BookManager 3 >>
//[command name=listen_closeBook /]
//->CloseBook
//<<解锁条目-UF模块1>>
->进行快速绘图检查
我: 佩佩,你右眼的UF模块运转似乎不太正常,我需...
//我: UFSocketVisited_PeipeiTalk
//佩佩: 啊,UF?怪不得它最近画的图都那么奇怪……
佩佩: 啊,是我把UF模块搞坏掉了么?
佩佩: 那是最精密的模块,自己不会出问题的...
佩佩: 如果UF坏掉了,那...工作就全完了
佩佩: 又是这样...我老是这样...
佩佩: 如果我小心点...
//////春:这里想加点分支对话,如果你能获得佩佩的信任,她后面就会多说一点自己的故事给你
->事情还没有搞清楚
我:别着急佩佩,事情还没搞清楚
我:它还没有“坏掉”,它只是出了一些问题
我:这些问题也不一定是你造成的
我:说不定只是哪里进了一个小虫子哈哈哈哈
我:我需要先进行一次绘图测试来定位问题
我:你能做到么?
->没有修不好的东西
我:别担心佩佩,没有什么是修不好的
我:只想着事情发生前的事已经没意义了
我:只要我们搞清楚它哪里出了问题,很快就能解决
我::我需要先进行一次绘图测试来定位问题
我:你能做到么?
佩佩: 好的医生...谢谢你
佩佩: 我刚刚有点...太紧张了...
佩佩: 但是现在没问题了!我能做到!
///我: 佩佩,你可以操作UF进行一次快速绘图测试吗?这样我好根据结果判断它的问题。
//////这里最好检测一下玩家有没有看过书,如果看过了
//////UF模块会不断拿素材进行学习,工作会对这些学习造成某种消耗,所以工作越多,就会学习得越多(“工作压力”不是即时的)
//->查询手册
//<<OpenBook BookManager>>
//<<Flip BookManager 3 >>
//[command name=listen_closeBook /]
//->CloseBook
//佩佩: 当然,医生。
我: 稍等,我帮你把画板拿过来
佩佩: 啊医生,不用,我不需要那个
我: 哎,你不需要它来绘图么?
佩佩: 是的医生,我们是用UF来绘图的
佩佩: 只需要描述需求,UF会完成它的
<<endif>>
->画板是用来做什么的?<<if $firstUFdiscussQ1Visited_PeipeiTalk==false>>
<<set $firstUFdiscussQ1Visited_PeipeiTalk=true>>
佩佩: 噢,那个画板,只是用来记录需求的修改的
佩佩: 你看我,什么都记不住的样子...
佩佩: 但是如果是简单的需求的话,我还是能完成的!
我: 啊原来是这样
<<jump UFtestDiscuss>>
->为什么还需要安装在人体上?<<if $firstUFdiscussQ2Visited_PeipeiTalk==false>>
<<set $firstUFdiscussQ2Visited_PeipeiTalk=true>>
佩佩: 我不太清楚...
佩佩: 但是我们都要经过艺术学校的教育,再进行改造
佩佩: 虽然大家的UF模块都一样,但是表现也会有不同
佩佩: 之前我们学校成绩好的人,现在她的UF绘图也是最好的
佩佩:我就...
我: (自言自语)看起来UF是需要使用这些绘画经验,只是能更高效发挥
<<jump UFtestDiscuss>>
->那我们开始吧
我: 那我们开始吧佩佩
<<jump UFtest>>
===
title: UFtest
position: -384,22
position: -546,144
---
///确保是在主视角下进行UF模块的操作
<<start_transition ViewManager "MainView">>
//////Q:需要确认"启动绘图检查"的交互形式
我: 那么我们开始吧。佩佩,让UF生成一张图片吧。
佩佩: 好的……什么样的图片呢?
我: 就按照工作来,做一张罐头的海报。
佩佩: 好的……要画什么样的图片呢?
// 我: 那么我们开始吧。佩佩,让UF生成一张图片吧。
// 佩佩: 好的……什么样的图片呢?
我: 就按照工作来吧,我想想...
我: 就做一张罐头的海报
佩佩: 好的,医生。罐头…海报……
佩佩: 我们想要罐头在什么地方呢?
->手上
@@ -492,6 +609,7 @@ position: -384,22
我: 我想我不行。我不会画画,只会修机器人。
佩佩: 其实都一样的……反正画都是UF画出来的。
//////先做三个作为测试?
//////这里感觉谈论的话题特别的不佩佩...我感觉佩佩不会说这些话,另外现在不是在治疗检查么,感觉这段很突兀
我: 听起来UF模块也不是什么都能画。
佩佩: 但其实说UF是能完美满足工作需要的,毕竟人有可能会出错,但UF不会。
佩佩: 而且…美术创作工作已经被UF包揽了,没有别的选择。
@@ -516,7 +634,9 @@ position: -384,22
佩佩: 完成了,医生。
<<show_photo UFManager "colorError">>
我: 图片看起来…有点诡异。
佩佩: 这就是我遇到的情况……它有的时候就会这样,生成出奇怪的图像。医生,它是坏了吗?
我: 它的色彩像是出了一些问题
佩佩: 这就是我遇到的情况……它有的时候就会这样,生成出奇怪的图像。
佩佩: 医生,它是坏了吗?
我: 让我看看手册。
->查询手册
<<OpenBook BookManager>>
@@ -527,7 +647,7 @@ position: -384,22
<<jump UFJudgment>>
===
title: UFJudgment
position: -207,-227
position: -258,-195
---
->(占位)UF的素材存在问题,导致颜色不正确
<<complete_task TaskManager "对UF模块进行快速绘图测试">>
@@ -558,7 +678,7 @@ position: -207,-227
===
title: MemoryView
position: 557,290
position: 571,241
---
<<start_transition ViewManager "MemoryView">>
//////有一个问题:看完记忆我就能得出结论了,那么这个过程是如何让“我”得出结论的?我看到了什么可以让我确诊?
@@ -616,7 +736,7 @@ position: 557,290
<<jump Choice>>
===
title: conclusion
position: -266,367
position: -212,372
---
<<fade_in 1>>
@@ -648,6 +768,7 @@ position: -266,367
我: 简单来说,UF认为自从你开始工作之后,就没有什么新奇的值得记住的东西了。
佩佩: ……这样吗……
//////判断下底下这段会不会让这个手术变得看起来严重了?
//////春:我感觉会,另外就是这个讨论显得特别刻意的营造悲情感
佩佩: ……
佩佩: 早知道我就不要学这个了……早知道我就不要画画了……
我: 我也不想这样,佩佩。根据你主管的说法,只要你的UF恢复正常,你就不会进入PIP了。
@@ -662,7 +783,7 @@ position: -266,367
===
title: BeforeSurgery
position: 421,440
position: 345,412
---
我: 那么,视觉-记忆桥阻断术,如果你确认接受手术,就在这里签下你的名字吧。
///<<手术风险告知书>>
@@ -739,9 +860,6 @@ position: 85,1052
->结束治疗<<if $EyeVisited_PeipeiTalk&&$UFVisited_PeipeiTalk>>
<<jump EndTreatment>>
<<endif>>
===
title: EyeViewFollowUp
position: 441,1082
@@ -803,8 +921,6 @@ position: 86,1272
我: 希望这代价是值得的……
//////这段对话形式还需要探索下——我需要玩玩coffeetalk等
===
title: PlugMemory
position: 1156,34
---
+7 -4
View File
@@ -5,6 +5,7 @@ using UnityEngine.UI;
using System.Linq;
using DG.Tweening;
using AibisDream;
using Yarn.Unity;
public class Plug : MonoBehaviour, IDragHandler, IPointerDownHandler, IPointerUpHandler
{
@@ -19,6 +20,8 @@ public class Plug : MonoBehaviour, IDragHandler, IPointerDownHandler, IPointerUp
public Image plugSprite; // new variable
public bool IsInDialogue { get; set; } = false;
private void Awake()
{
image = GetComponent<Image>();
@@ -40,21 +43,21 @@ public class Plug : MonoBehaviour, IDragHandler, IPointerDownHandler, IPointerUp
DialogController.OnDialogueStart -= HandleDialogueStart;
DialogController.OnDialogueComplete -= HandleDialogueComplete;
}
void HandleDialogueStart()
[YarnCommand("Enable_plugInput")]
public void HandleDialogueStart()
{
// Dialogue has started, disable plug interactions
IsInDialogue = true;
//Debug.Log("in dialogue");
}
void HandleDialogueComplete()
[YarnCommand("Disable_plugInput")]
public void HandleDialogueComplete()
{
// Dialogue has completed, enable plug interactions
IsInDialogue = false;
//Debug.Log("dialoguecompleted");
}
public void OnPointerDown(PointerEventData eventData)
{
if (IsInDialogue)