From 7adffa4372f2cabc7ae506bf821dde965d7cd161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=81=E8=80=98=E5=A4=A9?= <1491671119@qq.com> Date: Fri, 13 Sep 2024 19:39:22 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B0=94=E6=B3=A1=E7=BB=84=E4=BB=B6=E5=92=8C?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.idea.AIBIS Dream/.idea/encodings.xml | 1 + ...pewriter Sound - Package.unitypackage.meta | 7 + .../PlayMaker - Integration.unitypackage.meta | 7 + ... Scripting - Integration.unitypackage.meta | 7 + Assets/Resources/Art/UI.meta | 8 + Assets/Resources/Art/UI/气泡.png | Bin 0 -> 42571 bytes Assets/Resources/Art/UI/气泡.png.meta | 650 +++++++++ Assets/Resources/Art/UI/渐变背景.png | Bin 0 -> 127644 bytes Assets/Resources/Art/UI/渐变背景.png.meta | 140 ++ .../WenQuanYi Bitmap Song 14px SDF.asset | 4 +- .../WenQuanYi Bitmap Song 14px SDF.asset.meta | 2 +- .../Resources/Prefabs/FontAsset/word_set.txt | 2 + .../Prefabs/FontAsset/word_set.txt.meta | 7 + Assets/Resources/Prefabs/UI/Box.prefab | 617 ++++++++ Assets/Resources/Prefabs/UI/Box.prefab.meta | 7 + Assets/Resources/Prefabs/UI/Bubble.prefab | 513 +++++++ .../Resources/Prefabs/UI/Bubble.prefab.meta | 7 + .../Resources/Prefabs/UI/Choice Button.prefab | 8 +- .../Resources/Prefabs/UI/Player Bubble.prefab | 513 +++++++ .../Prefabs/UI/Player Bubble.prefab.meta | 7 + .../Yarn/OptionTest/OptionTest1.yarn | 2 +- .../Yarn/PeipeiTalk/PeipeiTalk1.yarn | 865 ++++++------ .../Yarn/PeipeiTalk2/PeipeiTalk2.yarn | 882 ++++++------ .../Yarn/PeipeiTalk3/PeipeiTalk3.yarn | 524 +++---- Assets/Scenes/ClinicScene.unity | 30 +- Assets/Scenes/Persistence.unity | 1249 +++++++---------- Assets/Scripts/Config.meta | 8 + Assets/Scripts/Config/Character.cs | 45 + Assets/Scripts/Config/Character.cs.meta | 11 + Assets/Scripts/Config/ConfigUtil.cs | 71 + Assets/Scripts/Config/ConfigUtil.cs.meta | 11 + .../Dialog System/CommandOptionView.cs | 17 +- .../Scripts/Dialog System/DialogController.cs | 61 +- Assets/Scripts/Dialog System/LineView.cs | 35 +- .../FixSystem/Effect/ScreenEffectManager.cs | 50 +- Assets/Scripts/Game Loop/GameLoopManager.cs | 3 + Assets/Scripts/MiniGame/Shaft.cs | 12 +- Assets/Scripts/UI/DialogUI.meta | 8 + Assets/Scripts/UI/DialogUI/DialogBox.cs | 17 + Assets/Scripts/UI/DialogUI/DialogBox.cs.meta | 11 + Assets/Scripts/UI/DialogUI/DialogBoxBase.cs | 204 +++ .../Scripts/UI/DialogUI/DialogBoxBase.cs.meta | 11 + Assets/Scripts/UI/DialogUI/DialogBubble.cs | 12 + .../Scripts/UI/DialogUI/DialogBubble.cs.meta | 11 + .../Scripts/UI/DialogUI/DialogBubbleViewer.cs | 101 ++ .../UI/DialogUI/DialogBubbleViewer.cs.meta | 11 + .../UI/DialogUI/DialogCanvasManager.cs | 118 ++ .../UI/DialogUI/DialogCanvasManager.cs.meta | 11 + Assets/Scripts/UI/DialogUI/DialogOldBox.cs | 16 + .../Scripts/UI/DialogUI/DialogOldBox.cs.meta | 11 + .../UI/{ => DialogUI}/DialogUiViewer.cs | 33 +- .../UI/{ => DialogUI}/DialogUiViewer.cs.meta | 0 Assets/Scripts/UI/DialogUI/IDialogView.cs | 18 + .../Scripts/UI/DialogUI/IDialogView.cs.meta | 11 + Assets/Scripts/UI/StartMenuViewer.cs | 1 - Assets/Scripts/Utility/CommonUtil.cs | 7 +- Assets/Scripts/Utility/CsvUtil.cs | 366 +++++ Assets/Scripts/Utility/CsvUtil.cs.meta | 11 + Assets/Scripts/Utility/Singleton.cs | 1 - Assets/Scripts/Utility/Singleton.cs.meta | 2 +- Assets/Scripts/Utility/SingletonBase.cs | 28 + Assets/Scripts/Utility/SingletonBase.cs.meta | 11 + Assets/Scripts/Utility/YarnUtil.cs | 97 +- Assets/StreamingAssets/Config.meta | 8 + Assets/StreamingAssets/Config/base_config.csv | 3 + .../Config/base_config.csv.meta | 7 + Assets/StreamingAssets/Config/character.csv | 10 + .../StreamingAssets/Config/character.csv.meta | 7 + .../BurstAotSettings_StandaloneWindows.json | 18 + ProjectSettings/BurstAotSettings_WebGL.json | 16 + ProjectSettings/QualitySettings.asset | 106 +- ProjectSettings/ShaderGraphSettings.asset | 16 + ProjectSettings/TimelineSettings.asset | 16 + 73 files changed, 5671 insertions(+), 2047 deletions(-) create mode 100644 Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta create mode 100644 Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta create mode 100644 Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta create mode 100644 Assets/Resources/Art/UI.meta create mode 100644 Assets/Resources/Art/UI/气泡.png create mode 100644 Assets/Resources/Art/UI/气泡.png.meta create mode 100644 Assets/Resources/Art/UI/渐变背景.png create mode 100644 Assets/Resources/Art/UI/渐变背景.png.meta create mode 100644 Assets/Resources/Prefabs/FontAsset/word_set.txt create mode 100644 Assets/Resources/Prefabs/FontAsset/word_set.txt.meta create mode 100644 Assets/Resources/Prefabs/UI/Box.prefab create mode 100644 Assets/Resources/Prefabs/UI/Box.prefab.meta create mode 100644 Assets/Resources/Prefabs/UI/Bubble.prefab create mode 100644 Assets/Resources/Prefabs/UI/Bubble.prefab.meta create mode 100644 Assets/Resources/Prefabs/UI/Player Bubble.prefab create mode 100644 Assets/Resources/Prefabs/UI/Player Bubble.prefab.meta create mode 100644 Assets/Scripts/Config.meta create mode 100644 Assets/Scripts/Config/Character.cs create mode 100644 Assets/Scripts/Config/Character.cs.meta create mode 100644 Assets/Scripts/Config/ConfigUtil.cs create mode 100644 Assets/Scripts/Config/ConfigUtil.cs.meta create mode 100644 Assets/Scripts/UI/DialogUI.meta create mode 100644 Assets/Scripts/UI/DialogUI/DialogBox.cs create mode 100644 Assets/Scripts/UI/DialogUI/DialogBox.cs.meta create mode 100644 Assets/Scripts/UI/DialogUI/DialogBoxBase.cs create mode 100644 Assets/Scripts/UI/DialogUI/DialogBoxBase.cs.meta create mode 100644 Assets/Scripts/UI/DialogUI/DialogBubble.cs create mode 100644 Assets/Scripts/UI/DialogUI/DialogBubble.cs.meta create mode 100644 Assets/Scripts/UI/DialogUI/DialogBubbleViewer.cs create mode 100644 Assets/Scripts/UI/DialogUI/DialogBubbleViewer.cs.meta create mode 100644 Assets/Scripts/UI/DialogUI/DialogCanvasManager.cs create mode 100644 Assets/Scripts/UI/DialogUI/DialogCanvasManager.cs.meta create mode 100644 Assets/Scripts/UI/DialogUI/DialogOldBox.cs create mode 100644 Assets/Scripts/UI/DialogUI/DialogOldBox.cs.meta rename Assets/Scripts/UI/{ => DialogUI}/DialogUiViewer.cs (83%) rename Assets/Scripts/UI/{ => DialogUI}/DialogUiViewer.cs.meta (100%) create mode 100644 Assets/Scripts/UI/DialogUI/IDialogView.cs create mode 100644 Assets/Scripts/UI/DialogUI/IDialogView.cs.meta create mode 100644 Assets/Scripts/Utility/CsvUtil.cs create mode 100644 Assets/Scripts/Utility/CsvUtil.cs.meta create mode 100644 Assets/Scripts/Utility/SingletonBase.cs create mode 100644 Assets/Scripts/Utility/SingletonBase.cs.meta create mode 100644 Assets/StreamingAssets/Config.meta create mode 100644 Assets/StreamingAssets/Config/base_config.csv create mode 100644 Assets/StreamingAssets/Config/base_config.csv.meta create mode 100644 Assets/StreamingAssets/Config/character.csv create mode 100644 Assets/StreamingAssets/Config/character.csv.meta create mode 100644 ProjectSettings/BurstAotSettings_StandaloneWindows.json create mode 100644 ProjectSettings/BurstAotSettings_WebGL.json create mode 100644 ProjectSettings/ShaderGraphSettings.asset create mode 100644 ProjectSettings/TimelineSettings.asset diff --git a/.idea/.idea.AIBIS Dream/.idea/encodings.xml b/.idea/.idea.AIBIS Dream/.idea/encodings.xml index 14dd3df61..d9a3d95d4 100644 --- a/.idea/.idea.AIBIS Dream/.idea/encodings.xml +++ b/.idea/.idea.AIBIS Dream/.idea/encodings.xml @@ -14,6 +14,7 @@ + \ No newline at end of file diff --git a/Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta b/Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta new file mode 100644 index 000000000..4801b3793 --- /dev/null +++ b/Assets/Plugins/Febucci/Text Animator/Extra/Typewriter Sound - Package.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 560a88da2bbc70140bed167f0ba7fe37 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta b/Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta new file mode 100644 index 000000000..77d64a86c --- /dev/null +++ b/Assets/Plugins/Febucci/Text Animator/Integrations/PlayMaker - Integration.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fb01be13d6e88ca488dda82150319bfc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta b/Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta new file mode 100644 index 000000000..05e590027 --- /dev/null +++ b/Assets/Plugins/Febucci/Text Animator/Integrations/Visual Scripting - Integration.unitypackage.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 117dcc671050f5247bd8743b91ecaab7 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Art/UI.meta b/Assets/Resources/Art/UI.meta new file mode 100644 index 000000000..1fc812a37 --- /dev/null +++ b/Assets/Resources/Art/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb058de38923eeb49a2cde87c6380b88 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Art/UI/气泡.png b/Assets/Resources/Art/UI/气泡.png new file mode 100644 index 0000000000000000000000000000000000000000..90e45f937b21d515f82389b753346da784b99a8a GIT binary patch literal 42571 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%0DQLiJY0U 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�L?_}G=SKrYvq~n%V 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

JUEkW&u*CsJitFF_#)TjHR*tT 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[]^abcdefghijklmnopqrstuvwxyz—“”…→①②、。「」【】一丁七万丈三上下不与丐丑专且丕世丘丙业丛东丝丞丟丢两严並丧个丫中丰串临丸丹为主丽举乃久么义之乌乍乎乏乐乒乓乔乖乘乙九乞也习乡书乩买乱乳乾亂了予争事二于亏云互亓五井亘亙亚些亞亟亡亢交亥亦产亨亩享京亭亮亲亳亵人亿什仁仃仄仅仆仇今介仍从仑仓仔仕他仗付仙仞仟代令以仨仪仫们仰仲仳件价任份仿企伉伊伋伍伎伏伐休伕众优伙会伞伟传伤伥伦伧伪伫伯估伴伶伸伺似伽佃但佇佈位低住佐佑体佔何佗余佚佛作佝佞佟你佣佥佩佬佯佰佳併佺佻佼佾使侃侄來侈例侍侏侑侖供依侠侣侥侦侧侨侩侮侯侵侶侷便係促俄俊俎俏俐俑俗俘俚保俞俟俠信俨俩俪俭修俯俱俳俶俸俺俾倀倆倉個倌倍倏們倒倔倖倘候倚倜借倡倣倥倦倨倩倪倫倭债值倾偃假偈偉偌偎偏偕做停健偬偭偯側偵偶偷偺偻偽偿傀傅傈傍傑傖傘備傚傢傥傧储傩催傭傯傲傳債傷傻傾僅僇僎像僑僕僖僚僥僧僩僭僮僱僳僵價僻儀儂億儅儆儈儉儋儐儒儔儕儘儛償儡優儲儳儿兀允元兄充兆兇先光克兌免兑兒兔兕兗党兜兢入內全兩八公六兮兰共关兴兵其具典兹养兼兽冀内冈冉冊册再冑冒冕冗写军农冠冢冤冥冪冬冯冰冲决况冶冷冻冽净凄准凉凋凌凍减凑凛凜凝几凡凤凭凯凰凱凳凶凸凹出击函凿刀刁刃分切刈刊刎刑划刖列刘则刚创初删判別刨利刪别刮到刳制刷券刹刺刻刽剁剂剃則削剋剌前剎剐剑剔剖剛剜剝剡剥剧剩剪副割剴創剷剽剿劂劃劇劈劉劊劍劑劓力劝办功加务劣动助努劫劬励劲劳劻劾势勁勃勇勉勋勒動勗勘務勛勝勞募勢勣勤勦勰勳勵勸勺勻勾勿匀包匆匈匍匏匐匕化北匙匝匠匡匣匪匮匯匱匹区医匾匿區十千卅升午卉半华协卑卒卓協单卖南博卜卞占卡卢卤卦卧卫卮卯印危即却卵卷卸卹卻卿厂厄厅历厉压厌厕厘厚厝原厢厥厦厨厩厭厮厲去县叁参參又叉及友双反发叔取受变叙叛叟叠叢口古句另叨叩只叫召叭叮可台叱史右叵叶号司叹叻叼叽吁吃各吆合吉吊吋同名后吏吐向吒吓吕吗吙君吝吞吟吠否吧吨吩含听吭吮启吱吳吴吵吶吸吹吻吼吾呀呂呃呆呈告呎呐呕呗员呛呜呢呦周呱呲味呵呶呷呸呻呼命咀咂咄咆咋和咎咏咐咒咔咕咖咙咚咛咝咣咤咦咧咨咩咪咫咬咯咱咳咸咻咽咿哀品哂哄哆哇哈哉响哎哐哑哒哓哗哝哟員哥哦哧哨哩哪哭哮哱哲哺哼哽唁唆唇唉唏唐唔唠唤唧唬售唯唰唱唳唷唸唾啁啃啄商啊問啕啖啗啜啞啟啡啣啤啥啦啧啪啬啰啷啸啻啼啾喀喂喃善喆喇喉喊喋喑喔喘喙喚喜喝喟喧喪喫喬單喱喲喳喷喻喽嗅嗆嗇嗉嗎嗐嗑嗒嗓嗔嗖嗙嗚嗜嗝嗟嗡嗣嗤嗥嗦嗨嗫嗬嗯嗶嗷嗽嗾嘀嘁嘆嘈嘉嘍嘎嘐嘔嘖嘗嘘嘚嘛嘟嘡嘩嘫嘭嘮嘯嘰嘱嘲嘴嘶嘹嘻嘿噌噎噓噔噗噘噙噜噢噤噥器噩噪噫噬噯噱噴噶噸噹噻噼嚀嚅嚇嚎嚏嚐嚓嚕嚣嚥嚮嚷嚼囊囔囚四囝回因团囤囪囫园困囱围囵固国图囿圃圄圆圈圉國圍園圓圖團土圣在圩圬圭圯地圳场圻圾址坂均坊坍坎坏坐坑块坚坛坝坞坟坠坡坤坦坨坩坪坳坷坼垂垃垄垆型垒垓垕垛垠垢垣垦垫垭垮埂埃埋城埔埚埜域埠埤執培基堂堅堆堉堊堑堕堙堝堠堡堤堪堯堰報場堵塊塋塌塑塒塔塗塘塚塞塢填塭塵塹塽塾墀境墅墉墊墓墙墜增墟墡墦墨墩墮墳墾壁壅壇壎壑壓壕壘壙壞壢壤士壬壮壯声壳壶壹壺壽处备复夏夔夕外夙多夜够夠夢夤夥大天太夫夭央夯失头夷夸夹夺夾奄奇奈奉奋奎奏奐契奔奕奖套奘奚奠奢奥奧奩奪奭奮女奴奶奸她好妁如妃妄妆妇妈妊妍妒妓妖妙妝妞妣妤妥妨妪妮妯妳妹妻妾姅姆姊始姍姐姑姒姓委姗姘姚姜姣姥姦姨姪姬姹姻姿威娃娄娅娇娉娌娑娓娘娛娜娟娠娣娥娩娱娴娶娼婀婁婆婉婊婚婢婦婪婴婶婷婺婿媒媚媛媧媲媳媼媽媾嫁嫂嫉嫌嫔嫖嫗嫘嫡嫣嫦嫩嫵嫻嬈嬉嬋嬌嬝嬤嬪嬰嬴嬸子孑孓孔孕字存孙孚孛孜孝孟季孤学孩孪孫孬孰孱孳孵學孺孽宁它宅宇守安宋完宏宕宗官宙定宛宜宝实宠审客宣室宥宦宪宫宮宰害宴宵家宸容宽宾宿寀寂寄寅密寇富寐寒寓寘寝寞察寡寢寤寥實寧寨審寫寬寮寰寸对寺寻导寿封射将將專尉尊尋對導小少尔尖尘尚尛尝尢尤尧尬就尴尷尸尹尺尼尽尾尿局屁层居屆屈屉届屋屌屍屎屏屐屑展屘屜屝属屠屡屢層履屨屯山屹屿岁岂岌岐岑岔岖岗岙岚岛岡岧岩岫岬岭岱岳岷岸岿峋峒峙峡峣峥峦峨峪峭峰峴島峻峽崁崆崇崎崑崔崖崗崙崛崢崤崧崩崭崮崴崽嵇嵌嵐嵘嵩嵯嶂嶄嶇嶔嶙嶝嶸嶺嶼嶽巅巍川州巡巢工左巧巨巩巫差己已巳巴巷巽巾币市布帅帆师希帐帑帕帖帘帙帚帛帜帝帟帥带帧師席帮帳帶帷常帼帽幀幃幄幅幌幔幕幗幛幟幡幢幣幫干平年并幸幹幺幻幼幽幾广庄庆庇床序庐库应底庖店庙庚府庞废庠度座庫庭庵庶康庸庾廁廂廄廈廉廊廓廖廚廛廝廟廠廢廣廬延廷建廾廿开弁异弃弄弈弊弋式弑弒弓弔引弗弘弛弟张弥弦弧弩弭弯弱張強弹强弼彀彆彈彊彌归当录彗彙彝形彤彥彦彩彪彫彬彭彰影彷役彻彼彿往征径待徇很徉徊律後徐徑徒得徘徙徜從徠御徨復循徬徭微徴徵德徹徽心必忆忌忍忏忐忑忖志忘忙忝忠忡忧忪快忬忱念忸忻忽忾忿怀态怂怃怅怆怎怏怒怔怕怖怛怜思怠怡急怦性怨怩怪怫怯怵总恂恃恆恋恍恐恒恕恙恢恣恤恥恨恩恪恫恬恭息恰恳恶恹恺恻恼恿悄悅悉悌悍悔悖悚悟悠患悦您悫悬悯悲悴悵悶悸悻悼悽情惆惇惊惋惑惕惘惚惜惟惠惡惦惧惨惩惫惬惭惮惯惰惱想惴惶惹惺惻愀愁愆愈愉愍愎意愒愕愚愛愜感愣愤愧愫愬愴愷愾愿慄慇慈態慌慍慎慑慕慘慚慝慟慢慣慧慨慫慮慰慵慶慷慼慾憂憊憋憎憐憑憔憚憤憧憨憩憫憬憮憲憶憾懂懇懈應懊懋懍懑懒懣懦懲懵懶懷懿戈戊戌戍戎戏成我戒戕或战戚戛戟戡戢截戮戰戲戳戴戶户戾房所扁扇扈扉手才扎扑扒打扔托扛扣执扩扪扫扬扭扮扯扰扳扶批扼找承技抄抆抉把抑抒抓抔投抖抗折抚抛抠抡抢护报抨披抬抱抵抹抻押抽抿拂拄担拆拇拈拉拊拋拌拍拎拐拒拓拔拖拗拘拙拚招拜拟拢拣拥拦拧拨择括拭拮拯拱拳拴拷拼拽拾拿持挂指挈按挎挑挖挚挛挞挟挠挡挣挤挥挨挪挫振挲挺挽挾捂捅捆捉捋捌捍捎捏捐捕捞损捡换捣捧捨捩捫捭据捯捱捲捶捷捺捻掀掂掃掄授掉掌掏掐排掖掘掙掛掠採探掣接控推掩措掬掰掳掴掷掸掺揀揄揆揉揍描提插揖揚換握揣揩揪揭揮援揹揽搀搁搂搅搆損搏搐搓搔搖搗搜搞搡搪搬搭搴搶携搽搾摁摄摆摇摈摊摑摒摔摘摞摟摧摩摭摯摸摹摺摻撂撅撇撈撐撑撒撓撕撙撚撞撢撤撥撩撫撬播撮撰撲撳撵撷撸撻撼撾撿擁擂擄擅擇擊擋操擎擒擔擘據擞擠擢擤擦擬擭擰擱擲擴擷擺擻擾攀攆攒攘攢攥攫支收攸改攻放政故效敉敌敏救敔敕敖敗敘教敛敝敞敢散敦敬数敲整敵敷數斂斃文斋斌斐斑斓斗料斛斜斟斡斤斥斧斩斫斬断斯新斷方於施旁旅旋旌旎族旖旗无既日旦旧旨早旬旭旱时旷旺昀昂昆昇昊昌明昏易昔昕昖昙星映昤春昧昨昭是昱昶昺昼显晁時晃晅晉晋晌晏晒晓晔晕晖晗晚晝晞晟晤晦晨普景晰晴晶晷智晾暂暄暇暈暉暍暑暖暗暘暝暢暧暨暫暮暱暴暸暹曄曆曇曉曌曖曙曜曝曠曦曰曲曳更曷書曹曼曾替最會月有朋服朐朔朕朗望朝期朦木未末本札朮术朱朴朵机朽杀杂权杆杉李杏材村杓杖杗杜杞束杠条来杨杪杭杯杰東杲杳杵杷杼松板极构枇枉枋析枓枕林枚果枝枢枣枪枫枭枯枰枴架枷枸柄柏某柑柒染柔柙柚柜柝柞柠柢查柩柬柯柱柳柴柵柿栅标栈栉栋栏树栓栖栗栘校栩株样核根格栽栾桀桁桂桃桅框案桌桎桐桑桓桔桢档桥桧桨桩桶桿梁梂梃梅梆梏梓梔梗條梟梡梢梦梧梨梭梯械梱梳梵检棂棄棉棋棍棒棕棗棘棚棟棠棣棧森棱棲棵棹棺棻椁椅植椎椒椟椰楂楄楊楓楔楚楛楝楞楠楣楨楫業楮楯極楷楹楼概榆榉榊榑榔榕榛榜榣榦榨榫榭榮榴榷榻槁槃構槌槍槐槓槛槟槨槭槳槽樁樂樅樊樑樓樘標樞樟模樣横樯樱樵樸樹樺樽樾橄橇橈橋橓橘橙橚橞機橡橢橫橱橹橾檀檄檐檔檗檜檠檢檣檬檮檯檳檸檻櫂櫃櫓櫚櫛櫝櫥欠次欢欣欤欧欲欸欺欽款歆歇歉歌歎歐歙歜歟止正此步武歧歪歲歷歸歹死歼歿殃殄殆殇殉殊残殍殒殖殘殡殤殮殯殴段殷殺殼殿毀毁毂毅毆毋母每毒毓比毕毖毗毙毚毛毡毫毬毯毽氅氈氏氐民氓气氖氛氟氣氤氦氧氨氫氬氮氯氳水永氾汀汁求汇汉汍汎汐汕汗汙汛汝汞江池污汤汨汩汪汰汲汴汶汹決汽汾沁沂沃沅沆沈沉沌沍沏沐沒沓沔沖沘沙沛沟没沥沦沧沪沫沬沮沱河沸油治沼沽沾沿況泄泅泉泊泌泓法泖泗泛泜泞泠泡波泣泥注泪泯泰泱泳泵泸泻泼泽泾洁洋洌洎洒洗洛洞津洧洩洪洫洮洱洲洵洶洸洹活洼洽派流浃浅浆浇浊测济浏浑浒浓浙浚浠浣浥浦浩浪浬浮浴海浸浹涂涅涇消涉涊涌涎涓涔涕涛涝涟涠涡涣涤润涧涨涩涪涮涯液涵涸涼涿淀淄淅淆淇淋淌淑淒淖淘淙淚淝淞淡淤淦淨淪淫淬淮深淳淵混淹淺添淼清渊渌渍渎渐渔渗渙渚減渝渠渡渣渤渥渦温測渭港渲渴游渺渾湃湄湊湍湎湔湖湘湛湟湣湧湩湮湯湲湾湿溃溅溉源準溘溜溝溢溥溧溪溫溯溴溶溺溼滁滂滄滅滇滉滋滌滑滓滔滕滚滞满滢滤滥滦滨滩滬滯滲滴滷滹滾滿漁漂漆漉漏漓演漕漠漢漣漩漪漫漬漱漲漳漶漸漾漿潇潑潔潘潛潜潟潠潢潤潦潭潮潯潰潴潸潺潼澀澄澆澈澎澗澜澠澡澤澦澧澱澳澴澶澹激濁濂濃濒濕濘濙濛濟濠濡濤濩濫濬濮濯濰濱濺濾瀆瀉瀋瀏瀑瀕瀘瀚瀝瀨灌火灭灯灰灵灶灸灼災灾灿炀炆炉炊炎炒炕炖炙炜炝炤炫炬炭炮炯炳炷炸点為炼炽烁烂烈烊烏烘烙烛烟烤烦烧烨烩烫烬热烯烹烽焉焊焐焕焖焘焙焚焜無焦焰然煅煆煉煌煎煖煙煜煞煤煥煦照煨煩煬煮煲煳煸煽熄熊熏熒熔熙熜熟熠熨熬熱熹熾燃燄燈燉燎燐燒燕燙燜營燠燥燦燧燬燭燮燴燸燹燻燼燾爆爌爍爪爬爭爰爱爵父爷爸爹爺爻爽爾爿牆片版牌牍牒牖牘牙牛牝牟牠牡牢牤牦牧物牯牲牴牵特牺牽牾犀犁犄犊犒犖犛犟犢犬犯状犷犹狀狂狄狈狎狐狗狙狞狠狡狩独狭狮狰狱狲狷狸狹狼狽猁猎猓猕猖猗猙猛猜猝猞猢猥猩猪猫猬献猴猶猷猾猿獄獅獎獐獒獗獠獨獭獰獲獵獷獸獺獾玄玆率玉王玖玘玛玟玠玥玨玩玫环现玲玳玷玺玻珀珅珊珍珏珑珙珞珠珣珥珪班珮珲珵珽現球琅理琉琊琍琏琐琛琢琥琦琨琪琮琯琳琴琵琶琺琼琿瑁瑄瑕瑗瑙瑚瑛瑜瑞瑟瑣瑤瑩瑪瑭瑯瑰瑶瑾璀璁璃璋璐璘璜璞璟璣璦璧璨璩環璽璿瓊瓛瓜瓠瓢瓣瓤瓦瓮瓶瓷甄甌甍甕甘甚甜生甡產甥甦用甩甫甬甭田由甲申电男甸画甽畅畋界畎畏畔留畚畜畝畢略畦番畫異畴當畸畿疆疇疋疏疑疗疙疚疝疡疢疣疤疥疫疮疯疱疲疳疴疵疸疹疼疽疾痂病症痈痉痊痍痒痔痕痘痙痛痞痠痢痣痤痨痪痰痱痲痳痴痹痺痿瘀瘁瘉瘋瘍瘓瘟瘠瘡瘢瘤瘦瘧瘩瘪瘫瘴瘸瘺瘾療癆癌癒癖癘癞癟癡癢癫癯癸登發白百皂的皆皇皈皋皎皑皓皖皙皚皞皦皮皰皱皴皺皿盂盃盅盆盈益盍盎盏盐监盒盔盖盗盘盛盜盞盟盡監盤盥盧盪目盯盲直相盹盼盾省眇眈眉看真眠眨眩眬眯眶眷眸眺眼眾眿着睁睃睏睑睛睜睞睡睢督睥睦睨睪睫睬睹睽睿瞄瞅瞇瞋瞌瞎瞑瞒瞞瞟瞠瞥瞧瞩瞪瞬瞭瞰瞳瞻瞼瞽瞿矇矗矛矜矢矣知矩矫短矮矯石矶矻矽矾矿码砂砌砍砒研砖砚砝砟砠砣砥砧砭砰砲破砷砸砺砾础硃硌硎硕硝硫硬确硯硼硿碉碌碍碎碑碓碗碘碜碟碣碧碩碰碳碴確碼碽碾磁磅磊磋磐磕磚磧磨磬磯磴磷磺礁礎礙礦礪示礼社祀祁祆祇祈祉祐祕祖祗祚祝神祟祠祥票祭祯祷祸祺祿禀禁禄禅禍禎福禛禦禧禪禮禱禹禺离禽禾禿秀私秃秈秉秋种科秒秘租秣秤秦秧秩积称秸移秽稀稅稈程稍税稔稗稚稜稞稟稠稣種稱稳稷稻稼稽稿穀穆穋穌積穎穗穠穡穢穩穫穴究穷穹空穿突窃窄窈窍窑窒窕窖窗窘窜窝窟窠窥窦窩窪窮窯窺窿竄竅立竑竖站竞竟章竣童竭端竹竺竽竿笃笆笈笊笋笏笑笔笙笛笞笠符笨第笮笳笼筅筆等筋筍筏筐筑筒答策筛筝筠筧筮筱筵筷筹签简箄箇箋箍箏箓箔箕算箝箠管箧箩箪箫箭箱箴箸節篁範篆篇築篌篑篓篙篛篝篠篡篤篦篩篮篱篷篾簇簌簍簏簑簞簡簣簧簪簸簽簾簿籁籍米类籽粉粑粒粕粗粘粝粟粤粥粪粮粱粲粳粵粹粼粽精糅糊糌糕糖糙糜糝糞糟糠糢糧糨糯糸系糾紀紂約紅紆紇紉紊紋納紐純紕紗紙級紛紜素紡索紧紫紮累細紱紲紳紹紼絀終絃組絆結絕絛絞絡絢給絨絮絰統絲絳絹綁綎綏綑經綜綞綠綢綬維綰綱網綴綵綸綺綻綽綾綿緇緊緒緘緙線緝緞締緣編緩緬緯緲練緹緻縈縉縊縐縑縛縝縞縣縫縮縯縱縲縴縵縷縹總績縿繁繃繅繆繇繈繒織繕繙繚繞繩繪繫繭繳繹纂纛纠红纣纤纥约级纨纪纬纭纮纯纰纱纲纳纵纶纷纸纹纺纽线练组绅细织终绉绊绌绍绎经绐绑绒结绔绕绘给绚络绝绞统绢绣绥继绩绪续绮绯绰绳维绵绷绸综绽绾绿缀缁缄缅缆缇缈缉缎缓缔缕编缘缙缚缛缜缝缟缠缢缤缥缨缩缪缭缮缰缴缶缸缺缽罄罈罐网罔罕罗罚罟罡罢罩罪置罰署罵罷罹羁羅羊羋羌美羔羚羞羡群羨義羯羲羶羸羹羼羽羿翀翁翅翊翌翎習翔翕翘翟翠翡翦翩翮翰翱翳翹翻翼耀老考耄者耆耋而耍耐耑耒耕耗耘耙耜耦耨耳耶耷耸耻耽耿聂聆聊聋职聒联聖聘聚聞聩聪聯聰聱聲聳聶職聿肃肄肅肆肇肉肋肌肓肖肘肚肛肝肠股肢肤肥肩肪肫肮肯肱育肴肺肾肿胀胁胃胄胆背胎胖胚胛胜胝胞胡胤胥胧胪胫胭胯胰胱胳胴胶胸胺胼能脂脅脆脈脉脊脍脏脐脑脓脖脚脣脤脩脫脯脰脱脸脹脾腆腊腋腌腎腐腑腓腔腕腥腦腫腮腰腱腳腴腸腹腺腻腼腾腿膀膂膈膊膏膚膛膜膝膠膨膩膳膺膻膽膾膿臀臂臃臆臉臊臍臏臘臜臣臥臧臨自臬臭至致臺臻臼臾舀舂舅舆與興舉舊舌舍舐舒舔舛舜舞舟舢舨航舫般舰舱舵舶舷船艇艋艘艙艮良艰艱色艳艺艽艾节芋芍芒芙芜芝芟芣芥芦芬芭芯芰花芳芷芸芹芻芽芾苇苋苍苎苏苑苒苓苔苗苛苜苞苟苣若苦苧苯英苹茁茂范茄茅茆茉茎茏茔茕茗茜茧茨茫茬茱茲茴茵茶茸茹荀荃荆草荊荏荐荒荔荚荟荡荣荤荥荧荨荫药荷荸荻荼莅莆莉莊莎莒莓莖莘莞莠莢莧莫莱莲获莹莼莽菁菂菅菇菊菌菔菜菟菠菩華菰菱菲菴菸菽萃萄萇萊萋萌萍萎萝营萦萧萨萬萱萵萸萼落葆葉葑著葛葡董葦葩葫葬葭葱葵葷葺蒂蒋蒐蒗蒙蒜蒞蒯蒲蒸蒼蒿蓀蓄蓆蓉蓊蓋蓑蓓蓝蓟蓦蓬蓮蓿蔆蔑蔓蔔蔗蔚蔡蔣蔥蔬蔭蔼蔽蕃蕈蕉蕊蕙蕞蕨蕩蕪蕭蕲蕴蕾薄薇薊薑薔薛薜薦薨薩薪薮薯薰薺藉藍藏藐藓藕藝藤藥藩藪藷藹藺藻蘆蘇蘊蘋蘑蘸虎虏虐虑虔處虚虛虜虞號虧虫虬虱虹虺虻虽虾蚀蚁蚂蚊蚓蚕蚜蚣蚤蚩蚪蚯蚱蚵蚶蛀蛄蛆蛇蛉蛊蛋蛎蛐蛔蛙蛛蛞蛟蛤蛩蛭蛮蛰蛴蛹蛻蛾蜀蜂蜃蜆蜇蜈蜉蜊蜒蜓蜕蜗蜘蜚蜜蜡蜢蜥蜩蜴蜷蜻蜿蝇蝉蝌蝎蝓蝕蝗蝙蝠蝣蝦蝨蝴蝶蝸螂螃融螞螟螢螫螬螳螺螻蟀蟆蟈蟋蟑蟒蟠蟬蟯蟲蟹蟻蟾蠅蠕蠡蠢蠹血衅行衍術衔街衙衛衝衡衢衣补表衫衬衮衰衷衹衽衾袁袂袄袅袈袋袍袒袖袜袝袞袤被袭袱裁裂装裆裊裎裒裔裕裘裙補裝裟裡裤裨裯裱裳裴裸裹製裾褂複褊褐褒褓褕褚褛褡褥褪褫褲褴褶褸褻褽襁襄襖襞襟襠襤西要覃覆見規覓視覜覦親覬覲见观规觅视览觉觊觋觍觎觐觑角觔解触觴言訂訃計訊訌討訏訐訑訓訕訖託記訛訝訟訢訣訥訪設許訴訶診註証訾詁詆詐詔評詖詛詞詠詢詣試詨詩詫詬詭詮詰話該詳詹詻詼誅誇誉誌認誑誓誕誘誚語誠誡誣誤誥誦誧誨說誰課誶誹誼調諂諄談諉請諍諒論諛諜諦諧諫諭諮諱諳諶諷諸諺諼諾謀謁謂謄謇謊謎謐謗謙講謝謠謨謫謬謹譁譆譎譏識譙譚譜警譬计订讣认讥讦讧讨让讪训议讯记讲讳讴讶讷许讹论讼讽设访诀证诂诃评诅识诈诉诊诋词诏译试诗诘诚诛诜话诞诠诡询诣诤该详诧诨诩诫诬语误诰诱诲诳说诵请诸诺读诽课谀谁调谄谅谆谈谊谋谍谎谏谐谑谒谓谕谗谙谚谛谜谟谢谣谤谥谦谧谨谩谪谬谭谱谲谴谶谷谿豁豆豈豉豌豎豐豕豚象豢豪豫豬豭豳豹豺貂貉貊貌貍貓貝貞負財貢貧貨販貪貫責貯貲貳貴貶買貸費貼貽貿賀賁賂賃賄賅資賈賊賑賒賓賜賞賠賡賢賣賤賦質賬賭賴賸賺賻購賽贅贝贞负贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贴贵贷贸费贺贻贼贽贾贿赂赃资赅赈赊赋赌赍赎赏赐赓赔赖赘赚赛赝赞赠赡赢赣赤赦赧赫赭走赳赴赵赶起趁趄超越趋趔趕趙趟趣趨趱足趴趸趺趾趿跃跄跆跋跌跎跏跑跚跛距跟跡跤跦跨跪路跳践跶跷跺跻跼踉踊踌踏踐踝踞踟踡踢踩踪踫踮踱踴踵踹踽蹂蹄蹇蹈蹉蹊蹋蹑蹒蹕蹙蹚蹟蹣蹤蹦蹩蹬蹭蹰蹲蹴蹶蹺蹼蹿躁躂躇躉躏身躬躯躲躺軀車軋軌軍軏軒軔軛軟軸軻軼軾較載輊輒輓輔輕輛輜輝輞輟輥輦輩輪輯輳輸輻輾輿轂轄轅轉轎轔车轧轨轩转轮软轰轱轲轴轶轻载轿辂较辄辅辆辈辉辍辎辐辑输辔辕辖辗辘辙辛辜辞辟辣辦辨辩辫辭辰辱農边辽达迁迂迄迅迆过迈迎运近返还这进远违连迟迢迤迥迦迨迩迪迫迭述迴迷迸迹迺追退送适逃逅逆选逊逍透逐递途逕逖逗這通逛逝逞速造逡逢連逦逮逯週進逵逶逸逻逼逾遁遂遇遊運遍過遏遐遑遒道達違遗遘遙遛遜遝遞遠遢遣遥遨適遭遮遲遴遵遷選遺遼遽避邀邁邂邃還邇邈邊邋邑邓邕邝邢那邦邪邮邱邵邶邸邹邻郁郃郊郎郑郝郡郢郦郧部郭郵都郾鄂鄉鄒鄗鄘鄙鄞鄢鄧鄭鄰鄱鄴酉酊酋酌配酒酗酝酡酣酥酩酪酬酱酴酵酷酸酽酿醃醇醉醋醍醐醒醜醞醣醪醫醬醮醱醺釆采釉释里重野量釐金釗釘釙釜針釣釦釧釩釭釵鈇鈉鈍鈐鈑鈔鈕鈞鈣鈴鈷鈸鈹鈽鈾鈿鉀鉅鉉鉋鉍鉑鉗鉚鉛鉤鉴鉸鉻鉼銀銅銑銓銖銘銜銨銬銮銲銳銷銻銼鋁鋅鋇鋐鋒鋤鋪鋰鋸鋼錄錐錕錘錙錚錠錡錢錦錨錫錮錯錳錶鍊鍋鍍鍔鍚鍛鍥鍬鍰鍵鍾鎂鎊鎔鎖鎗鎘鎚鎡鎢鎬鎮鎰鎳鎸鏃鏈鏍鏑鏖鏗鏘鏜鏝鏟鏡鏢鏤鐇鑨鑫针钉钓钗钙钛钜钝钞钟钢钥钦钧钩钮钰钱钳钵钹钺钻钿铁铃铄铅铆铉铎铐铖铛铜铠铢铣铤铨铩铭铮铰铲铳银铸铺链铿销锁锃锄锅锈锉锋锏锐错锚锡锢锣锤锥锦锨锭键锯锲锵锸锹锻镀镂镆镇镌镍镐镔镖镗镚镜镢镣镰镳镶長长門閂閃閉開閎閏閑閒間閔閘閡閣閤閥閨閩閭閱閻闆闈闊闋闌闐闔闕闖關门闩闪闭问闯闲闳间闵闷闸闹闺闻闽闾阀阁阂阄阅阈阉阊阋阎阐阑阒阔阕阖阗阙阜队阡阪阬阮阱防阳阴阵阶阻阿陀陂附际陆陈陋陌降限陕陘陛陝陞陡院陣除陨险陪陬陰陲陳陴陵陶陷陸陽隄隅隆隊隋隍階随隐隔隕隘隙際障隧隨險隱隴隶隸隹隻难雀雁雄雅集雇雉雊雋雌雍雏雒雕雖雙雛雜雞離難雨雩雪雯雲雳零雷雹電雾需霄霆震霉霍霎霏霑霓霖霜霞霤霧霭霰露霸霹霾青靓靖静靛靜非靠靡面靦革靳靴靶靼鞅鞋鞍鞏鞑鞘鞠鞣鞦鞭韋韌韓韜韦韧韩韬韭音韵韶韹頁頂頃項順須頊頌預頑頒頓頗領頜頡頤頫頭頰頷頸頹頻顆題額顎顏顓願顛類页顶顷项顺须顽顾顿颀颁颂预颅领颇颈颉颊颌颍颐频颓颔颖颗题颛颜额颠颤風颯颱颳颶颺颼风飒飓飕飘飙飚飛飞食飢飧飩飪飭飯飲飴飼飽飾餃餅餉養餌餐餒餓餘餚餛餞餡館餮餵餽餾餿饅饉饕饥饨饪饬饭饮饯饰饱饲饵饶饷饺饼饿馁馄馅馆馈馊馋馍馏馐馑馒首香馥馨馬馭馮馱馳馴駁駐駑駒駕駙駛駝駟駢駭駱駿騁騎騖马驭驮驯驰驱驳驴驶驸驹驻驼驽驾驿骁骂骄骆骇骈骋验骏骐骑骗骚骜骞骟骠骡骢骤骥骧骨骯骰骷骸骼髁髅髓高髡髦髭髮髯髻鬃鬆鬍鬥鬧鬨鬲鬼魁魂魄魅魆魇魍魎魏魔魚魯魷鮑鮪鮫鮭鮮鯀鯈鯉鯊鯖鯛鯧鯨鯽鱼鱿鲁鲈鲍鲑鲜鲤鲨鳄鳅鳌鳖鳞鳥鳩鳳鳴鳶鴃鴆鴉鴒鴕鴛鴣鴦鴨鴻鴿鵑鵝鵠鵡鵪鵬鵲鶉鶣鸟鸠鸡鸢鸣鸥鸦鸭鸮鸯鸳鸽鸾鸿鹃鹄鹅鹊鹏鹜鹞鹤鹫鹭鹰鹳鹵鹿麂麈麋麒麓麗麟麥麦麩麴麻麼麾黃黄黍黎黏黑黔默黛黜黝點黠黩黯鼎鼓鼕鼠鼬鼻鼾齊齋齐齑齒齿龄龇龊龌龍龙龚龛龜龟!(),:;? \ No newline at end of file diff --git a/Assets/Resources/Prefabs/FontAsset/word_set.txt.meta b/Assets/Resources/Prefabs/FontAsset/word_set.txt.meta new file mode 100644 index 000000000..2b86bcf1e --- /dev/null +++ b/Assets/Resources/Prefabs/FontAsset/word_set.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 43eb93b1681fda14e9cb5f71b3e1a07e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Box.prefab b/Assets/Resources/Prefabs/UI/Box.prefab new file mode 100644 index 000000000..146d393e0 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Box.prefab @@ -0,0 +1,617 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1710999987262464818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8421241559617079726} + - component: {fileID: 5975286064066965976} + - component: {fileID: 6215411343711503920} + - component: {fileID: 819371682440416758} + m_Layer: 5 + m_Name: Choice Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &8421241559617079726 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710999987262464818} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7131956091114956203} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 601.75, y: -173.93996} + m_SizeDelta: {x: 916.934, y: 171.4201} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5975286064066965976 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710999987262464818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 1 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 +--- !u!222 &6215411343711503920 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710999987262464818} + m_CullTransparentMesh: 1 +--- !u!114 &819371682440416758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1710999987262464818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &5890622946834639560 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2340543909228546517} + - component: {fileID: 5639890485129627689} + - component: {fileID: 3495602697405942981} + m_Layer: 5 + m_Name: Next Array + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2340543909228546517 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890622946834639560} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7131956091114956203} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -142.28, y: 67.7} + m_SizeDelta: {x: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5639890485129627689 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890622946834639560} + m_CullTransparentMesh: 1 +--- !u!114 &3495602697405942981 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5890622946834639560} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: afdc34bd5087fee4bbe681c5ef818e20, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6059188073131988442 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7131956091114956203} + - component: {fileID: 6060254505695754241} + - component: {fileID: 7549122853052093938} + - component: {fileID: 7143386995408466037} + m_Layer: 5 + m_Name: Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7131956091114956203 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6059188073131988442} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4734035430968629439} + - {fileID: 4013473223034251771} + - {fileID: 2340543909228546517} + - {fileID: 8421241559617079726} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 180} + m_SizeDelta: {x: 1200, y: 300} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6060254505695754241 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6059188073131988442} + m_CullTransparentMesh: 1 +--- !u!114 &7549122853052093938 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6059188073131988442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 0ea722d84b6dfe044ac7299862920024, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7143386995408466037 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6059188073131988442} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 51f2233614aba944f9b2dab3d5af433b, type: 3} + m_Name: + m_EditorClassIdentifier: + delayTime: 300 + choiceButton: {fileID: 659956759807646603, guid: 4973083c3562511409a2ff2639fbe31b, type: 3} +--- !u!1 &6444039290434272966 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4013473223034251771} + - component: {fileID: 8735059991624197031} + - component: {fileID: 1596915540455727478} + - component: {fileID: 1582206514939414771} + - component: {fileID: 1810538208425271595} + m_Layer: 5 + m_Name: Dialog Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4013473223034251771 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6444039290434272966} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7131956091114956203} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 613, y: -170} + m_SizeDelta: {x: 939.4397, y: 132.6784} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &8735059991624197031 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6444039290434272966} + m_CullTransparentMesh: 1 +--- !u!114 &1596915540455727478 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6444039290434272966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 46 + m_fontSizeBase: 46 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &1582206514939414771 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6444039290434272966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8ace8ced0e81c847968cdca0aeda757, type: 3} + m_Name: + m_EditorClassIdentifier: + typewriterStartsAutomatically: 1 + animationLoop: 0 + timeScale: 0 + _text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" + useDynamicScaling: 1 + referenceFontSize: 10 + isResettingTimeOnNewText: 1 + useDefaultDatabases: 1 + databaseBehaviors: {fileID: 11400000, guid: ab7e07cba198f4345b19d351e6a3034f, type: 2} + databaseAppearances: {fileID: 11400000, guid: 71ecf6147756deb4ca20570628f94f96, type: 2} + useDefaultStyleSheet: 1 + styleSheet: {fileID: 0} + databaseActions: {fileID: 11400000, guid: de78232a60d74f6459e57e5606304209, type: 2} + defaultAppearancesTags: + - 'fade ' + defaultDisappearancesTags: + - fade + defaultBehaviorsTags: [] + defaultTagsMode: 0 +--- !u!114 &1810538208425271595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6444039290434272966} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 57a6945b90dcd0c4b81619c0d8b5c283, type: 3} + m_Name: + m_EditorClassIdentifier: + useTypeWriter: 1 + startTypewriterMode: 2 + hideAppearancesOnSkip: 1 + hideDisappearancesOnSkip: 0 + triggerEventsOnSkip: 0 + resetTypingSpeedAtStartup: 1 + disappearanceOrientation: 0 + onTextShowed: + m_PersistentCalls: + m_Calls: [] + onTypewriterStart: + m_PersistentCalls: + m_Calls: [] + onTextDisappeared: + m_PersistentCalls: + m_Calls: [] + onCharacterVisible: + m_PersistentCalls: + m_Calls: [] + onMessage: + m_PersistentCalls: + m_Calls: [] + waitForNormalChars: 0.1 + waitLong: 0.6 + waitMiddle: 0.2 + avoidMultiplePunctuactionWait: 0 + waitForNewLines: 1 + waitForLastCharacter: 1 + useTypewriterWaitForDisappearances: 1 + disappearanceWaitTime: 0.015 + disappearanceSpeedMultiplier: 1 +--- !u!1 &8375416816228738504 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4734035430968629439} + - component: {fileID: 6323810537521366264} + - component: {fileID: 2256868743146392351} + m_Layer: 5 + m_Name: Actor Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4734035430968629439 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8375416816228738504} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7131956091114956203} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 156, y: -53} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6323810537521366264 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8375416816228738504} + m_CullTransparentMesh: 1 +--- !u!114 &2256868743146392351 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8375416816228738504} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u82F1\u7406" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 50 + m_fontSizeBase: 50 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/Resources/Prefabs/UI/Box.prefab.meta b/Assets/Resources/Prefabs/UI/Box.prefab.meta new file mode 100644 index 000000000..57931fdf0 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Box.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e2211373480d40243a377721316dd8f7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Bubble.prefab b/Assets/Resources/Prefabs/UI/Bubble.prefab new file mode 100644 index 000000000..1489029ea --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Bubble.prefab @@ -0,0 +1,513 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1696114525554538000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 427735296993809938} + - component: {fileID: 6493937739013348050} + - component: {fileID: 7387503987222832056} + m_Layer: 5 + m_Name: Next Array + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &427735296993809938 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696114525554538000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2114528386511579871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -71.1, y: 104.9} + m_SizeDelta: {x: 36, y: 36} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6493937739013348050 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696114525554538000} + m_CullTransparentMesh: 1 +--- !u!114 &7387503987222832056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696114525554538000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: afdc34bd5087fee4bbe681c5ef818e20, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7042900623801244561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5958992798050226847} + - component: {fileID: 4077163999082085342} + - component: {fileID: 8573609247027237253} + m_Layer: 5 + m_Name: Actor Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5958992798050226847 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7042900623801244561} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2114528386511579871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 139.8, y: -47.9} + m_SizeDelta: {x: 200, y: 34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4077163999082085342 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7042900623801244561} + m_CullTransparentMesh: 1 +--- !u!114 &8573609247027237253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7042900623801244561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u82F1\u7406" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 34 + m_fontSizeBase: 34 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8350799087752378543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 743756292906217118} + - component: {fileID: 779459268729455718} + - component: {fileID: 2673124579144078471} + - component: {fileID: 6304324492443822404} + - component: {fileID: 276549186829526868} + m_Layer: 5 + m_Name: Dialog Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &743756292906217118 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2114528386511579871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 236, y: -148} + m_SizeDelta: {x: 329.9832, y: 129.8956} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &779459268729455718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_CullTransparentMesh: 1 +--- !u!114 &2673124579144078471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 30 + m_fontSizeBase: 30 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &6304324492443822404 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8ace8ced0e81c847968cdca0aeda757, type: 3} + m_Name: + m_EditorClassIdentifier: + typewriterStartsAutomatically: 1 + animationLoop: 0 + timeScale: 0 + _text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" + useDynamicScaling: 1 + referenceFontSize: 10 + isResettingTimeOnNewText: 1 + useDefaultDatabases: 1 + databaseBehaviors: {fileID: 11400000, guid: ab7e07cba198f4345b19d351e6a3034f, type: 2} + databaseAppearances: {fileID: 11400000, guid: 71ecf6147756deb4ca20570628f94f96, type: 2} + useDefaultStyleSheet: 1 + styleSheet: {fileID: 0} + databaseActions: {fileID: 11400000, guid: de78232a60d74f6459e57e5606304209, type: 2} + defaultAppearancesTags: + - 'fade ' + defaultDisappearancesTags: + - fade + defaultBehaviorsTags: [] + defaultTagsMode: 0 +--- !u!114 &276549186829526868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 57a6945b90dcd0c4b81619c0d8b5c283, type: 3} + m_Name: + m_EditorClassIdentifier: + useTypeWriter: 1 + startTypewriterMode: 2 + hideAppearancesOnSkip: 1 + hideDisappearancesOnSkip: 0 + triggerEventsOnSkip: 0 + resetTypingSpeedAtStartup: 1 + disappearanceOrientation: 0 + onTextShowed: + m_PersistentCalls: + m_Calls: [] + onTypewriterStart: + m_PersistentCalls: + m_Calls: [] + onTextDisappeared: + m_PersistentCalls: + m_Calls: [] + onCharacterVisible: + m_PersistentCalls: + m_Calls: [] + onMessage: + m_PersistentCalls: + m_Calls: [] + waitForNormalChars: 0.1 + waitLong: 0.6 + waitMiddle: 0.2 + avoidMultiplePunctuactionWait: 0 + waitForNewLines: 1 + waitForLastCharacter: 1 + useTypewriterWaitForDisappearances: 1 + disappearanceWaitTime: 0.015 + disappearanceSpeedMultiplier: 1 +--- !u!1 &8518890624210964847 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2114528386511579871} + - component: {fileID: 9109024175080783090} + - component: {fileID: 7036814853636706666} + - component: {fileID: 1577716708503439262} + m_Layer: 5 + m_Name: Bubble + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2114528386511579871 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5958992798050226847} + - {fileID: 743756292906217118} + - {fileID: 427735296993809938} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 894.2566, y: -446.05994} + m_SizeDelta: {x: 462.0198, y: 318.3407} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9109024175080783090 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_CullTransparentMesh: 1 +--- !u!114 &7036814853636706666 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: -1799124147, guid: e18e3df2cf154be45bd08f82ab53036e, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1577716708503439262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d43fa24173f81ea4ea102be91896826e, type: 3} + m_Name: + m_EditorClassIdentifier: + delayTime: 300 diff --git a/Assets/Resources/Prefabs/UI/Bubble.prefab.meta b/Assets/Resources/Prefabs/UI/Bubble.prefab.meta new file mode 100644 index 000000000..e0079b5a2 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Bubble.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4d6fa45bd310bc946b5628e62986e494 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Prefabs/UI/Choice Button.prefab b/Assets/Resources/Prefabs/UI/Choice Button.prefab index 547de952e..55d1c5abc 100644 --- a/Assets/Resources/Prefabs/UI/Choice Button.prefab +++ b/Assets/Resources/Prefabs/UI/Choice Button.prefab @@ -231,8 +231,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5} - m_AnchoredPosition: {x: 650, y: 0} - m_SizeDelta: {x: 1200, y: 48} + m_AnchoredPosition: {x: 450, y: 0} + m_SizeDelta: {x: 800, y: 48} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &6660134571396433606 CanvasRenderer: @@ -264,8 +264,8 @@ MonoBehaviour: m_Calls: [] m_text: "\u9009\u9879\u4E00" m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_sharedMaterial: {fileID: -4877161827586246797, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] diff --git a/Assets/Resources/Prefabs/UI/Player Bubble.prefab b/Assets/Resources/Prefabs/UI/Player Bubble.prefab new file mode 100644 index 000000000..8950b6829 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Player Bubble.prefab @@ -0,0 +1,513 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1696114525554538000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 427735296993809938} + - component: {fileID: 6493937739013348050} + - component: {fileID: 7387503987222832056} + m_Layer: 5 + m_Name: Next Array + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &427735296993809938 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696114525554538000} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2114528386511579871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -64.9, y: 69.8} + m_SizeDelta: {x: 36, y: 36} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6493937739013348050 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696114525554538000} + m_CullTransparentMesh: 1 +--- !u!114 &7387503987222832056 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696114525554538000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: afdc34bd5087fee4bbe681c5ef818e20, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &7042900623801244561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5958992798050226847} + - component: {fileID: 4077163999082085342} + - component: {fileID: 8573609247027237253} + m_Layer: 5 + m_Name: Actor Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5958992798050226847 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7042900623801244561} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2114528386511579871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 139.8, y: -47.9} + m_SizeDelta: {x: 200, y: 34} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4077163999082085342 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7042900623801244561} + m_CullTransparentMesh: 1 +--- !u!114 &8573609247027237253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7042900623801244561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u82F1\u7406" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 32 + m_fontSizeBase: 32 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &8350799087752378543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 743756292906217118} + - component: {fileID: 779459268729455718} + - component: {fileID: 2673124579144078471} + - component: {fileID: 6304324492443822404} + - component: {fileID: 276549186829526868} + m_Layer: 5 + m_Name: Dialog Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &743756292906217118 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2114528386511579871} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 236, y: -136.5614} + m_SizeDelta: {x: 329.9832, y: 107.0183} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &779459268729455718 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_CullTransparentMesh: 1 +--- !u!114 &2673124579144078471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 28 + m_fontSizeBase: 28 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 256 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &6304324492443822404 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e8ace8ced0e81c847968cdca0aeda757, type: 3} + m_Name: + m_EditorClassIdentifier: + typewriterStartsAutomatically: 1 + animationLoop: 0 + timeScale: 0 + _text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" + useDynamicScaling: 1 + referenceFontSize: 10 + isResettingTimeOnNewText: 1 + useDefaultDatabases: 1 + databaseBehaviors: {fileID: 11400000, guid: ab7e07cba198f4345b19d351e6a3034f, type: 2} + databaseAppearances: {fileID: 11400000, guid: 71ecf6147756deb4ca20570628f94f96, type: 2} + useDefaultStyleSheet: 1 + styleSheet: {fileID: 0} + databaseActions: {fileID: 11400000, guid: de78232a60d74f6459e57e5606304209, type: 2} + defaultAppearancesTags: + - 'fade ' + defaultDisappearancesTags: + - fade + defaultBehaviorsTags: [] + defaultTagsMode: 0 +--- !u!114 &276549186829526868 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8350799087752378543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 57a6945b90dcd0c4b81619c0d8b5c283, type: 3} + m_Name: + m_EditorClassIdentifier: + useTypeWriter: 1 + startTypewriterMode: 2 + hideAppearancesOnSkip: 1 + hideDisappearancesOnSkip: 0 + triggerEventsOnSkip: 0 + resetTypingSpeedAtStartup: 1 + disappearanceOrientation: 0 + onTextShowed: + m_PersistentCalls: + m_Calls: [] + onTypewriterStart: + m_PersistentCalls: + m_Calls: [] + onTextDisappeared: + m_PersistentCalls: + m_Calls: [] + onCharacterVisible: + m_PersistentCalls: + m_Calls: [] + onMessage: + m_PersistentCalls: + m_Calls: [] + waitForNormalChars: 0.1 + waitLong: 0.6 + waitMiddle: 0.2 + avoidMultiplePunctuactionWait: 0 + waitForNewLines: 1 + waitForLastCharacter: 1 + useTypewriterWaitForDisappearances: 1 + disappearanceWaitTime: 0.015 + disappearanceSpeedMultiplier: 1 +--- !u!1 &8518890624210964847 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2114528386511579871} + - component: {fileID: 9109024175080783090} + - component: {fileID: 7036814853636706666} + - component: {fileID: 1577716708503439262} + m_Layer: 5 + m_Name: Player Bubble + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2114528386511579871 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5958992798050226847} + - {fileID: 743756292906217118} + - {fileID: 427735296993809938} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 894.2566, y: -459.18506} + m_SizeDelta: {x: 462.0198, y: 292.0905} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9109024175080783090 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_CullTransparentMesh: 1 +--- !u!114 &7036814853636706666 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 659638050, guid: e18e3df2cf154be45bd08f82ab53036e, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1577716708503439262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518890624210964847} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d43fa24173f81ea4ea102be91896826e, type: 3} + m_Name: + m_EditorClassIdentifier: + delayTime: 300 diff --git a/Assets/Resources/Prefabs/UI/Player Bubble.prefab.meta b/Assets/Resources/Prefabs/UI/Player Bubble.prefab.meta new file mode 100644 index 000000000..baf13fca1 --- /dev/null +++ b/Assets/Resources/Prefabs/UI/Player Bubble.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Yarn/OptionTest/OptionTest1.yarn b/Assets/Resources/Yarn/OptionTest/OptionTest1.yarn index ffa5ae05d..98a4e0a6f 100644 --- a/Assets/Resources/Yarn/OptionTest/OptionTest1.yarn +++ b/Assets/Resources/Yarn/OptionTest/OptionTest1.yarn @@ -1,7 +1,7 @@ title: Start --- <> -我: 这是选项测试文件 #line:069537f +[character key="2"]我: [/character]这是选项测试文件 #line:069537f 我: 做一点测试 -> 选项一 -> 选项二 diff --git a/Assets/Resources/Yarn/PeipeiTalk/PeipeiTalk1.yarn b/Assets/Resources/Yarn/PeipeiTalk/PeipeiTalk1.yarn index 50c853e4a..f53f30e80 100644 --- a/Assets/Resources/Yarn/PeipeiTalk/PeipeiTalk1.yarn +++ b/Assets/Resources/Yarn/PeipeiTalk/PeipeiTalk1.yarn @@ -15,6 +15,7 @@ position: 66,-976 //这一段感觉有点生硬了,可能最好是电视上播放一些内容,你对电视内容发表评价,然后突然听到门外的声音,你把电视关了,然后门外对话开始 //感觉不用为了介绍这个世界观特意这么写233 <> +<> 本demo为早期验证版本,其中文本,交互,画面均为过程版 如果遇到bug或困扰,请随时联系发给您demo的朋友 如果您不知道在何处反馈,欢迎微信联系:15209116298 QQ:781230111 @@ -35,17 +36,18 @@ position: 66,-976 播报员: 今天天气晴,午后可能会有小雨。 播报员: 随着人类机器化技术的发展,幸福罐头园区已经正式迈进了全机器人时代! 播报员: 昨天下午,在下一季度的生产启动会上,专家组对幸福罐头园区的机器人化进展做了全面汇报…… -我: 这下就有更多机器人要修了……但好歹我也更不用担心失业了。 +me: 这下就有更多机器人要修了……但好歹我也更不用担心失业了。 <> 播报员: 第七届罐头销售大赛即将开始,幸福园区的机器人们已经投入到了紧张的筹备工作当中! 播报员: 在销售部工作的火山,正在为新一季度的销售工作而紧张地忙碌着…… -我: 给机器人推销罐头…为什么呢? -严厉女声: 就是这里了,员工诊所。他们一定能治好你的怪病。 -我: 看起来有病人来了。 +me: 给机器人推销罐头…为什么呢? +yingli_novoice: 就是这里了,员工诊所。他们一定能治好你的怪病。 +me: 看起来有病人来了。 <> ///表示UF模块在当前维修阶段是否已经进入过了 <> <> +<> <> === @@ -56,53 +58,53 @@ position: 69,-716 ///<<窗外出现两个人影>> //////都是问号,除了音频怎么区分两个陌生人?——我记得之前聊过更改冒泡框的方案 //////这里可以不可以强调你以前不是这样的,因为工作量上来之前佩佩是可以完成的,慢慢的越来越难,后来质量也出了问题 -严厉女声: 我不希望就因为你的这个怪病,而让我们部门的评价受到影响。 -胆怯女声: 我没病,组长……我会完成得很好的。相信我。我以前…… -严厉女声: 我不在乎你之前做得有多好,那对我来说没有任何意义。 -严厉女声: 我不知道为什么你不能理解:这一次不能完成,你就会进PIP 。 -严厉女声: 不用我和你说这意味着什么吧? -胆怯女声: 我…不要进PIP…… -严厉女声: 公司花了很多资源培养你。就算你自己不在乎,也不要让我难堪。 -胆怯女声: 我…… -严厉女声: 听着,佩佩。我是在帮你。 -严厉女声: 你的效率是整个美工组最低的,为了保住你,我承担了你难以想象的压力。 -严厉女声: …… -严厉女声: 做个身体检查,接受治疗。无论如何,今晚好好休息。 +yingli_novoice: 我不希望就因为你的这个怪病,而让我们部门的评价受到影响。 +peipei_novoice: 我没病,组长……我会完成得很好的。相信我。我以前…… +yingli_novoice: 我不在乎你之前做得有多好,那对我来说没有任何意义。 +yingli_novoice: 我不知道为什么你不能理解:这一次不能完成,你就会进PIP 。 +yingli_novoice: 不用我和你说这意味着什么吧? +peipei_novoice: 我…不要进PIP…… +yingli_novoice: 公司花了很多资源培养你。就算你自己不在乎,也不要让我难堪。 +peipei_novoice: 我…… +yingli_novoice: 听着,佩佩。我是在帮你。 +yingli_novoice: 你的效率是整个美工组最低的,为了保住你,我承担了你难以想象的压力。 +yingli_novoice: …… +yingli_novoice: 做个身体检查,接受治疗。无论如何,今晚好好休息。 ///<<设置佩佩的portrait为黑影>> -佩佩: 是的,组长。 -佩佩: …… +[character key=peipei role=Aside /]是的,组长。 +[character key=peipei role=Aside /]…… <> === title: InDoorTalk position: 69,-488 --- -佩佩: 医生好,我可以进来吗? +[character key=peipei role=Aside /]医生好,我可以进来吗? ///<<播放轻轻的敲门声>> -我: 当然,请进吧。 +me: 当然,请进吧。 <> <> //<> //////需要确认开病例的过程——病例会长什么样? -佩佩: …… -佩佩: 打扰了,医生。能帮我做个检查吗? +peipei: …… +peipei: 打扰了,医生。能帮我做个检查吗? //->查询手册 //<> //<> //[command name=listen_closeBook /] //->CloseBook //////美工对于一些美术来说是敏感词,最好换个说法 -我: 当然没问题。绘图组的佩佩,是么? -佩佩: 是的…你怎么知道的? -我: 无意偷听,但是你们刚才就站在我的门口。 -我: 说说吧,你的身体怎么了,感觉哪里不舒服? +me: 当然没问题。绘图组的佩佩,是么? +peipei: 是的…你怎么知道的? +me: 无意偷听,但是你们刚才就站在我的门口。 +me: 说说吧,你的身体怎么了,感觉哪里不舒服? //不知道能不能让这段对话更有意思 -佩佩: 倒也没有哪里不舒服……只是最近工作表现很差。 -佩佩: 有的时候任务量一大,产出的图也就跟着出问题了。 -佩佩: 这次也是一样,我也不知道为什么…画出来的图根本不能用。 -我: 任务量一大,工作就出问题吗… -我: 可能是某些模块需要保养了,也可能会有更严重的问题。 -我: 总之,我们来检查一下吧。 -佩佩: 好的,麻烦了,医生。 +peipei: 倒也没有哪里不舒服……只是最近工作表现很差。 +peipei: 有的时候任务量一大,产出的图也就跟着出问题了。 +peipei: 这次也是一样,我也不知道为什么…画出来的图根本不能用。 +me: 任务量一大,工作就出问题吗… +me: 可能是某些模块需要保养了,也可能会有更严重的问题。 +me: 总之,我们来检查一下吧。 +peipei: 好的,麻烦了,医生。 <> === title: FixStart @@ -112,7 +114,7 @@ position: 64,-262 ///表示进入头部维修界面 <> <> -我: 我在拆卸你的头部背板,这可能会让你感觉有些痒。 +me: 我在拆卸你的头部背板,这可能会让你感觉有些痒。 <> ///拆除color模块 <> @@ -147,7 +149,7 @@ position: 64,-262 <> <> <> -//我: 好了,先简单检查下你各个头部模块的状态吧。 +//me: 好了,先简单检查下你各个头部模块的状态吧。 <> <> <> @@ -161,8 +163,8 @@ position: 74,15 <> <> //美工可能对一些美术有冒犯,我改了下 -我: 我还是第一次看绘图工的头部…看起来和别人的有些不一样。 -我: 总之,先插线检查一下每个模块吧。 +me: 我还是第一次看绘图工的头部…看起来和别人的有些不一样。 +me: 总之,先插线检查一下每个模块吧。 教学: 鼠标拖拽右方蓝色检查线 <> <> @@ -172,24 +174,24 @@ position: 74,15 <> <> //视觉保有想象力是有点奇怪的说法,我们这时候还没有抛出想象力 - 我: 她的视觉能够逐渐的生成颜色……我没有见过这种情况 - 我: 不过这不应该影响工作,看来只有看看UF才知道工作异常的原因了。 + me: 她的视觉能够逐渐的生成颜色……我没有见过这种情况 + me: 不过这不应该影响工作,看来只有看看UF才知道工作异常的原因了。 <> <> - 我: 她的UF无法调用到足够的记忆素材,需要看看是被什么模块占用了。 + me: 她的UF无法调用到足够的记忆素材,需要看看是被什么模块占用了。 <> <> - 我: 她的UF无法调用到足够的记忆素材,这跟她视觉的报错有关系吗? + me: 她的UF无法调用到足够的记忆素材,这跟她视觉的报错有关系吗? <> <> <> - 我: 好的,现在UF模块无法调取足够的记忆素材,而视觉模块抛出了调用特征码 。 - 我: 看来问题没有想象的严重嘛。 - 我: 我只需要在记忆模块中定位这些被占用的记忆并释放就好了。 + me: 好的,现在UF模块无法调取足够的记忆素材,而视觉模块抛出了调用特征码 。 + me: 看来问题没有想象的严重嘛。 + me: 我只需要在记忆模块中定位这些被占用的记忆并释放就好了。 ///刷新任务,提示检查视觉 <> <> - 我: 被占用的记忆似乎有点多。 + me: 被占用的记忆似乎有点多。 <> <> ->结束诊疗 @@ -205,41 +207,41 @@ position: 74,15 <> <> <> - 我: 这似乎是嵌入在左眼的额外模组? + me: 这似乎是嵌入在左眼的额外模组? ///这里虽然理论上玩家可以翻书,但是感觉流程上还是要简单的有 - 我: 佩佩,这个模块是……? - 我: 啊,那个是UF模块,是我们绘图的关键模块。公司所有的绘图工都需要安装它。 - 我: 绘图的关键模块?这让我我有点好奇。 + me: 佩佩,这个模块是……? + me: 啊,那个是UF模块,是我们绘图的关键模块。公司所有的绘图工都需要安装它。 + me: 绘图的关键模块?这让我我有点好奇。 <> //<> <> <> <> - 我: 报错了。而且它摸起来好烫……最好尝试深入检查一下。 + me: 报错了。而且它摸起来好烫……最好尝试深入检查一下。 <> ->进行深入检查 <> <> ->先看看其他模块 - 我: 不着急,我们先把其他部分检查完。 + me: 不着急,我们先把其他部分检查完。 <> <> - //我: 我需要进行快速绘图才能知道UF具体出现了什么问题…… + //me: 我需要进行快速绘图才能知道UF具体出现了什么问题…… <> - 我: 我需要深度检查才能知道UF具体出现了什么问题。 + me: 我需要深度检查才能知道UF具体出现了什么问题。 ->进行深度检查 //->进行绘图测试 - //我: 来吧,佩佩。 + //me: 来吧,佩佩。 让我们来看看这个UF模块究竟是个什么东西吧。 <> <> ->先看看其他模块 - 我: 还是再看看其他部分吧。 + me: 还是再看看其他部分吧。 <> <> <> - 我: 我已经检查过这里了。 - 我: 它调用的记忆素材被不明进程占用了……我需要在记忆模块里定位来源。 + me: 我已经检查过这里了。 + me: 它调用的记忆素材被不明进程占用了……我需要在记忆模块里定位来源。 <> <> -> EyeView @@ -254,11 +256,11 @@ position: 74,15 <> <> <> - 我: 视觉模块有报错。 - 我: 这个报错信息是什么意思?……最好进去看看。 + me: 视觉模块有报错。 + me: 这个报错信息是什么意思?……最好进去看看。 <> ->深入检查视觉 - 我: 佩佩,我需要进入你的视野进行深度检查。 + me: 佩佩,我需要进入你的视野进行深度检查。 佩佩: 没问题,医生。 <> <> @@ -266,7 +268,7 @@ position: 74,15 <> <> <> - 我: 视觉的报错需要查查。 + me: 视觉的报错需要查查。 ->检查视觉 <> <> @@ -274,8 +276,8 @@ position: 74,15 <> <> <> - 我: 视觉已经检查过了,报错是因为丢失了色觉。 - 我: 不过现在视觉在调用记忆用以想象颜色。 + me: 视觉已经检查过了,报错是因为丢失了色觉。 + me: 不过现在视觉在调用记忆用以想象颜色。 <> <> -> MemoryView @@ -289,23 +291,23 @@ position: 74,15 <> <> <> - 我: 一切问题看起来都收束在了这里……记忆模块。 - 我: 让我们看一下究竟是什么记忆影响了佩佩的视觉和UF模块吧。 + me: 一切问题看起来都收束在了这里……记忆模块。 + me: 让我们看一下究竟是什么记忆影响了佩佩的视觉和UF模块吧。 ->输入特征码:E1F32B7 <> <> ->等会再来 <> <> - 我: UF测试表明问题出在这里,让我们来检查一下记忆吧。 + me: UF测试表明问题出在这里,让我们来检查一下记忆吧。 ->进入记忆模块 <> - 我: 记忆模块需要特征码 才能访问,看来我需要先找到记录有特征码 的模块。 + me: 记忆模块需要特征码 才能访问,看来我需要先找到记录有特征码 的模块。 <> ->等会再来 <> <> - 我: 记忆模块没有报错,看起来这里没有什么问题。 + me: 记忆模块没有报错,看起来这里没有什么问题。 <> <> ->LogicView @@ -315,7 +317,7 @@ position: 74,15 <> <> <> - 我: 逻辑看起来没问题。 + me: 逻辑看起来没问题。 <> ->SpeakView <> @@ -326,7 +328,7 @@ position: 74,15 <> <> <> - 我: 语言看起来没问题。 + me: 语言看起来没问题。 <> ->EmoView <> @@ -337,25 +339,25 @@ position: 74,15 <> <> <> - 我: 情绪看起来没问题。 + me: 情绪看起来没问题。 <> ->ColorView <> <> - 我: 这里是放色觉芯片的地方……但它怎么缺失了? - 佩佩: 啊……医生,这好像是很久的事情了。 - 我: 很久的事情……? - 佩佩: 是的。不记得是在装上UF的时候还是装了之后一段时间的事情…… - 佩佩: 总之是某次设备升级之后就这样了。我也不知道它去哪儿了。 - 佩佩: 技术员说是正常的,很多绘图工都是这样的。 - 我: 很多……这实在说不过去。 - 我: 这种芯片很精密,每个机器人只可能会有一个。 - 我: 如果一个机器人没有色觉芯片,视力肯定也会受到影响。 - 我: 我最好一会在视觉模块检查一下她的视觉状态。 + me: 这里是放色觉芯片的地方……但它怎么缺失了? + peipei: 啊……医生,这好像是很久的事情了。 + me: 很久的事情……? + peipei: 是的。不记得是在装上UF的时候还是装了之后一段时间的事情…… + peipei: 总之是某次设备升级之后就这样了。我也不知道它去哪儿了。 + peipei: 技术员说是正常的,很多绘图工都是这样的。 + me: 很多……这实在说不过去。 + me: 这种芯片很精密,每个机器人只可能会有一个。 + me: 如果一个机器人没有色觉芯片,视力肯定也会受到影响。 + me: 我最好一会在视觉模块检查一下她的视觉状态。 <> <> - 我: 果然……色觉芯片是缺失的。可是它到底去哪儿了呢…… - 我: 不过这确实和她面临的问题没关系,还是在别的模块寻找一下线索吧。 + me: 果然……色觉芯片是缺失的。可是它到底去哪儿了呢…… + me: 不过这确实和她面临的问题没关系,还是在别的模块寻找一下线索吧。 <> <> === @@ -372,111 +374,111 @@ position: 553,9 <> <> <> - 我: 这就是佩佩看到的视野了…… - 我: 为什么是黑白的? - 佩佩: 啊……医生,这好像是很久的事情了。 - 我: 很久的事情……? - 佩佩: 是的。不记得是在装上UF的时候还是装了之后一段时间的事情…… - 佩佩: 总之是某次设备升级之后就这样了。 + me: 这就是佩佩看到的视野了…… + me: 为什么是黑白的? + peipei: 啊……医生,这好像是很久的事情了。 + me: 很久的事情……? + peipei: 是的。不记得是在装上UF的时候还是装了之后一段时间的事情…… + peipei: 总之是某次设备升级之后就这样了。 <> <> - 我: 天哪…你看不见颜色。 + me: 天哪…你看不见颜色。 <> -我: …… -我: 这很有可能和你的病情有关系。 -佩佩: 医生,这个和病情没关系的,技术员说很多绘图工都有这种情况。 -我: 很多?……不对,我需要再次核对下。 -我: 你们能通过UF模块产生有颜色的图片,但是你们自己却看不见颜色? -佩佩: 医生,你也是公司的员工呀,你也有医疗模块吧。 -我: 什么意思? -佩佩: 公司的所有技术性工作都是最终由技术性模块操作完成的。 -佩佩: 画都是我身体里的UF画的,它自己会产生颜色,我不需要能看见或者理解颜色。 -我: 也就是说成为绘图工,就会失去色觉? +me: …… +me: 这很有可能和你的病情有关系。 +peipei: 医生,这个和病情没关系的,技术员说很多绘图工都有这种情况。 +me: 很多?……不对,我需要再次核对下。 +me: 你们能通过UF模块产生有颜色的图片,但是你们自己却看不见颜色? +peipei: 医生,你也是公司的员工呀,你也有医疗模块吧。 +me: 什么意思? +peipei: 公司的所有技术性工作都是最终由技术性模块操作完成的。 +peipei: 画都是我身体里的UF画的,它自己会产生颜色,我不需要能看见或者理解颜色。 +me: 也就是说成为绘图工,就会失去色觉? //////春:处理1:主线是走UF-记忆-视觉的,也可以提前看视觉,但是不会发现视觉有问题,你发现记忆是被视觉引用了一部分,你和佩佩聊完,佩佩决定相信你,让你不要告诉别人,和你说了这件事 //////春:不过这需要day1的结局处理谨慎,否则显得有点惨,另外和石头有点像 //////春:处理2:UF看完看记忆,但是需要特征码来搜寻,你没有这个特征码,没有头绪,就可以先看看记忆,看记忆的过程中发现没问题,但是疑惑佩佩为什么会眼睛痛,佩佩相信你,让你不要高速别人,和你说了这件事 -我: 这听起来…太令人难以接受了。 -佩佩: ……其实也不必为我那么担心啦,医生。 -佩佩: 我还是能想办法看见颜色的。 -我: 什么?可是…我没在你的视觉里看到颜色。 -佩佩: 没什么,医生……抱歉。我…失言了。 -佩佩: 但总之,不用为我担心…… -我: (佩佩有什么事情瞒着我。) +me: 这听起来…太令人难以接受了。 +peipei: ……其实也不必为我那么担心啦,医生。 +peipei: 我还是能想办法看见颜色的。 +me: 什么?可是…我没在你的视觉里看到颜色。 +peipei: 没什么,医生……抱歉。我…失言了。 +peipei: 但总之,不用为我担心…… +me: (佩佩有什么事情瞒着我。) ->追问 -我: 佩佩,你刚才想要说的话,我希望你能告诉我。 -我: 我需要知道尽量多的信息,才好对你做最准确的诊断和治疗。 -佩佩: 你…能替我保守秘密么? +me: 佩佩,你刚才想要说的话,我希望你能告诉我。 +me: 我需要知道尽量多的信息,才好对你做最准确的诊断和治疗。 +peipei: 你…能替我保守秘密么? ->我守口如瓶 - 我: 你可以信任我,我会守口如瓶的。 - 佩佩: 谢谢你,医生。其实仔细想想…… + me: 你可以信任我,我会守口如瓶的。 + peipei: 谢谢你,医生。其实仔细想想…… ->只要有利于治疗 - 我: 如果保守这个秘密有利于治疗的话:是的。毕竟我是个医生。 - 佩佩: 你说的对,医生…我不该这么问的。其实仔细想想…… + me: 如果保守这个秘密有利于治疗的话:是的。毕竟我是个医生。 + peipei: 你说的对,医生…我不该这么问的。其实仔细想想…… ->取决于你要说什么 - 我: 我不知道,这取决于这个秘密的性质了。 - 佩佩: 好吧,其实仔细想想…… -佩佩: 对医生应该是不能说谎的,对吧? -佩佩: 小时候我经常生病。有天为了能出去玩,我对住院医生说谎了。 -佩佩: 那一次医生很生气。他很关心我,但是我让他失望了,没有能照顾好自己。 -佩佩: 所以我想,也许不该成为一个秘密。 + me: 我不知道,这取决于这个秘密的性质了。 + peipei: 好吧,其实仔细想想…… +peipei: 对医生应该是不能说谎的,对吧? +peipei: 小时候我经常生病。有天为了能出去玩,我对住院医生说谎了。 +peipei: 那一次医生很生气。他很关心我,但是我让他失望了,没有能照顾好自己。 +peipei: 所以我想,也许不该成为一个秘密。 // <> <> -佩佩: 看到窗外的蓝天了吗? +peipei: 看到窗外的蓝天了吗? <> <> -我: 啊…这是怎么做到的? -佩佩: 我不知道怎么说……我就是记得它是这个颜色。 -我: 记得? -佩佩: 医生,你应该也有关于天空的珍贵记忆吧。你还记得在那段记忆里,天空是什么颜色的吗? -佩佩: 你一定是记得的,我也是。天空的颜色不是那么容易被忘记的。 -我: 从机制层面来说,你没有色觉芯片,理论上就看不到这些颜色。 -佩佩: 好吧……我也不知道怎么解释了。总之,我就是能看到我印象中的颜色。 -我: 嗯……我需要对你做一个色觉检测。 -我: 我需要让你再观察几个东西,你只要重复刚才做的事情就好了。 -佩佩: 好的,医生。 +me: 啊…这是怎么做到的? +peipei: 我不知道怎么说……我就是记得它是这个颜色。 +me: 记得? +peipei: 医生,你应该也有关于天空的珍贵记忆吧。你还记得在那段记忆里,天空是什么颜色的吗? +peipei: 你一定是记得的,我也是。天空的颜色不是那么容易被忘记的。 +me: 从机制层面来说,你没有色觉芯片,理论上就看不到这些颜色。 +peipei: 好吧……我也不知道怎么解释了。总之,我就是能看到我印象中的颜色。 +me: 嗯……我需要对你做一个色觉检测。 +me: 我需要让你再观察几个东西,你只要重复刚才做的事情就好了。 +peipei: 好的,医生。 ///百叶窗颜色消失 ///焦点复位 <> <> <> <> -我: “印象中的颜色”……什么颜色会是佩佩的记忆里一定有的呢? +me: “印象中的颜色”……什么颜色会是佩佩的记忆里一定有的呢? ->指示佩佩观察绿色植物 - 我:佩佩,看到那个绿萝了么? + me:佩佩,看到那个绿萝了么? <> <> - 佩佩: 医生,你的绿萝长得很不错喔! + peipei: 医生,你的绿萝长得很不错喔! //植物出现颜色;其中一片叶子枯萎了,但也显示出了绿色 - 佩佩: 小时候我养过一盆绿萝。爸爸说等我慢慢长大,这盆绿萝就会跟我一起长大变成绿萝树! + peipei: 小时候我养过一盆绿萝。爸爸说等我慢慢长大,这盆绿萝就会跟我一起长大变成绿萝树! <> <> - 佩佩: 可惜…… + peipei: 可惜…… ///<>枯萎的叶子变成了正确的黄色 - 佩佩: 我还是把它养死了。 - 佩佩: 我愧疚了好久,那时的我真的以为小草可以长成一棵树。 + peipei: 我还是把它养死了。 + peipei: 我愧疚了好久,那时的我真的以为小草可以长成一棵树。 日志: 警告,正在从记忆模块向视觉模块非法写入,操作源:未知进程,特征码:E1F32B7已记录 - 我:嗯?这是怎么回事?记忆模块在非法写入? + me:嗯?这是怎么回事?记忆模块在非法写入? <> ->指示佩佩观察罐头海报 - 我:佩佩,看到那张海报了么? + me:佩佩,看到那张海报了么? <> <> <> - 佩佩: 啊,又是罐头…… - 佩佩: 坏了!我还有一张海报没出…… + peipei: 啊,又是罐头…… + peipei: 坏了!我还有一张海报没出…… <> - 佩佩: 啊……我差点忘了。我来这里就是为了这个。 - 佩佩: 医生,请继续吧。 + peipei: 啊……我差点忘了。我来这里就是为了这个。 + peipei: 医生,请继续吧。 日志: 警告,正在从记忆模块向视觉模块非法写入,操作源:未知进程,特征码:E1F32B7 - 我:嗯?这是怎么回事?记忆模块在非法写入? + me:嗯?这是怎么回事?记忆模块在非法写入? <> -我:我得出去看看,这里的检查就先到这里了 -我:好了佩佩,我要退出视野了 +me:我得出去看看,这里的检查就先到这里了 +me:好了佩佩,我要退出视野了 <> <> -// 我: 虽然不明白这是为什么…但是比起这个,看不见颜色听起来更严重。 -// 我: ……在和视觉模块相关的条目下一定有相关的线索。 -// 我: 佩佩为什么能够动态的生成颜色呢? +// me: 虽然不明白这是为什么…但是比起这个,看不见颜色听起来更严重。 +// me: ……在和视觉模块相关的条目下一定有相关的线索。 +// me: 佩佩为什么能够动态的生成颜色呢? //////根据最后的图片,应该还可以设置一些别的选项作为可以让佩佩观察的对象,但是看过这两个就会跳对话了 // <> // <> @@ -485,7 +487,7 @@ position: 553,9 // <> // [command name=listen_closeBook /] // ->CloseBook -// 我: 好的。 +// me: 好的。 @@ -497,64 +499,64 @@ position: 447,-258 //////这神秘进程 是线剪断之后,对于还是不断发出访问命令的进程的称呼 <> <> -我:我得查一下刚才的这个进程 +me:我得查一下刚才的这个进程 ->查询非法操作进程 <> <> <> <> -我: 查不到这个进程的信息?太神秘了。 -我: 但是毫无疑问的是,佩佩现在理应是看不到颜色的。 -我: 应该说,她确实看不到,但是可以“生成”颜色... -我: 并且这个过程,伴随着一个神秘进程在不断从记忆向视觉发送请求? -佩佩: 医生,怎么样,我的眼睛出问题了么? -我: 啊佩佩,准确来说,你的眼睛没有问题。 -我: 奇怪的事情是,一个神秘的进程在不断从记忆向眼睛发送请求。 -我: 我想这也是你能够看到颜色的原因。 -佩佩: 进程?发送请求?医生,我不明白 -我: 就好像有个什么东西在用记忆作为颜料,为你所看到的东西上色... -佩佩: 这会造成问题么?我能看到颜色,这不是一件好事吗? -我: 不好说,佩佩。医学上来说,奇怪的事情很少有好事 +me: 查不到这个进程的信息?太神秘了。 +me: 但是毫无疑问的是,佩佩现在理应是看不到颜色的。 +me: 应该说,她确实看不到,但是可以“生成”颜色... +me: 并且这个过程,伴随着一个神秘进程在不断从记忆向视觉发送请求? +peipei: 医生,怎么样,我的眼睛出问题了么? +me: 啊佩佩,准确来说,你的眼睛没有问题。 +me: 奇怪的事情是,一个神秘的进程在不断从记忆向眼睛发送请求。 +me: 我想这也是你能够看到颜色的原因。 +peipei: 进程?发送请求?医生,我不明白 +me: 就好像有个什么东西在用记忆作为颜料,为你所看到的东西上色... +peipei: 这会造成问题么?我能看到颜色,这不是一件好事吗? +me: 不好说,佩佩。医学上来说,奇怪的事情很少有好事 <> - 我: 但是目前还没有发现这和你的工作问题有关系。我最好继续检查下。 - 我: 虽然不确定在哪里用,但刚才日志打印的特征码我最好也记录一下备用 + me: 但是目前还没有发现这和你的工作问题有关系。我最好继续检查下。 + me: 虽然不确定在哪里用,但刚才日志打印的特征码我最好也记录一下备用 <> - 我: 刚刚的UF模块错误就是由于记忆素材被占用导致的 - 我: 而这里,神秘的进程就是在为你的视觉调用记忆 - 我: 我想,这就是记忆被占用的原因 - 我: 好消息是这里有日志打印的特征码,应该可以帮我们去记忆模块定位相关的记忆 + me: 刚刚的UF模块错误就是由于记忆素材被占用导致的 + me: 而这里,神秘的进程就是在为你的视觉调用记忆 + me: 我想,这就是记忆被占用的原因 + me: 好消息是这里有日志打印的特征码,应该可以帮我们去记忆模块定位相关的记忆 <> <> // <> -// 我: 佩佩看不见颜色的原因是…… +// me: 佩佩看不见颜色的原因是…… // ->色觉芯片缺失 // <> -// 我: 正如你所说……手册认为这是绘图机器人的正常现象,因为你的色觉芯片缺失了。 -// 我: 至于你看到的那些色彩… -// 我: 按照手册说的,你应该是发生了视觉代偿 视觉代偿。你的视觉能看到颜色,应该是: -// 我: 你的视觉在调用记忆填补色觉的空缺。 -// 佩佩: 我的视觉…在调用记忆填补色觉的空缺? -// 我: 对。 -// 我: (小声嘀咕)但是……手册说视觉代偿 在v1.2.306版本的补丁里已经修复,理论上现在应该不会再出现这个问题了…… -// 我: 啧,这可不是一件好事…… -// 佩佩: 可是我能看到颜色,这不是一件好事吗? -// //我: 不好说,佩佩。这指不定是什么更大的问题的一个小症状,只是我们还没发现…… +// me: 正如你所说……手册认为这是绘图机器人的正常现象,因为你的色觉芯片缺失了。 +// me: 至于你看到的那些色彩… +// me: 按照手册说的,你应该是发生了视觉代偿 视觉代偿。你的视觉能看到颜色,应该是: +// me: 你的视觉在调用记忆填补色觉的空缺。 +// peipei: 我的视觉…在调用记忆填补色觉的空缺? +// me: 对。 +// me: (小声嘀咕)但是……手册说视觉代偿 在v1.2.306版本的补丁里已经修复,理论上现在应该不会再出现这个问题了…… +// me: 啧,这可不是一件好事…… +// peipei: 可是我能看到颜色,这不是一件好事吗? +// //me: 不好说,佩佩。这指不定是什么更大的问题的一个小症状,只是我们还没发现…… // <> -// 我: 不好说,佩佩。这指不定是什么更大的问题的一个小症状,只是我们还没发现…… -// 我: 不过还好的是,目前看来这不一定和你的工作问题有关系。我最好继续检查下。 -// 我: 屏幕上的这个特征码 ……或许和此有关。如果需要的话,一会也许会用上。 +// me: 不好说,佩佩。这指不定是什么更大的问题的一个小症状,只是我们还没发现…… +// me: 不过还好的是,目前看来这不一定和你的工作问题有关系。我最好继续检查下。 +// me: 屏幕上的这个特征码 ……或许和此有关。如果需要的话,一会也许会用上。 // <> -// 我: 不好说,佩佩。你的UF模块报错是说有神秘进程 在占用记忆…… -// 我: 屏幕上的这个特征码 …应该可以帮助我们定位刚才在占用的记忆片段。 +// me: 不好说,佩佩。你的UF模块报错是说有神秘进程 在占用记忆…… +// me: 屏幕上的这个特征码 …应该可以帮助我们定位刚才在占用的记忆片段。 // <> // <> // ->逻辑模块出现问题 -// 我: 好像她的表现不是这样,再想想或者再查查书吧…… +// me: 好像她的表现不是这样,再想想或者再查查书吧…… // <> // ->色觉代偿失败 -// 我: 好像她的表现不是这样,再想想或者再查查书吧…… +// me: 好像她的表现不是这样,再想想或者再查查书吧…… // <> === @@ -567,20 +569,20 @@ position: -552,-78 //////Q:需要确认"启动绘图检查"的交互形式 <> <> -我: 嗯?这居然是加密模块,我不能进行内部检查。 -我: 看来只能进行这个快速绘图测试,从外部进行检查了…… -//我: (自言自语)下一步应该怎么做? +me: 嗯?这居然是加密模块,我不能进行内部检查。 +me: 看来只能进行这个快速绘图测试,从外部进行检查了…… +//me: (自言自语)下一步应该怎么做? //////春:这里怎么突然插了一句指令,我注释掉,填补下逻辑 -// 佩佩: 是的。我只需要在脑袋里和它对话,描述我需要的图片,它就能生成出来了。 -// 我: 明白了…… -// 我: UFSocketVisited_PeipeiTalk -// 佩佩: 啊,工作异常?怪不得它最近画的图都那么奇怪…… -// 我: 它画的图? -// 佩佩: 是的。毕竟所有的图片都是它生产出来的。 +// peipei: 是的。我只需要在脑袋里和它对话,描述我需要的图片,它就能生成出来了。 +// me: 明白了…… +// me: UFSocketVisited_PeipeiTalk +// peipei: 啊,工作异常?怪不得它最近画的图都那么奇怪…… +// me: 它画的图? +// peipei: 是的。毕竟所有的图片都是它生产出来的。 //////其实这里没太懂 -// 我: 就像画笔一样,对吧。 +// me: 就像画笔一样,对吧。 //////感觉现在佩佩不太是开玩笑的心情 -// 佩佩: 哈哈,可惜不是喔。 +// peipei: 哈哈,可惜不是喔。 //////需要确认具体绘图的方式 //->查询手册 //<> @@ -589,30 +591,30 @@ position: -552,-78 //->CloseBook //<<解锁条目-UF模块1>> ->进行快速绘图测试 - 我: 佩佩,这个UF模块运转不太正常,我们需要做一个快速绘图测试。 - 佩佩: 啊,我又把它搞坏了么? - 我: 又? - 佩佩: 之前就出过这类问题,技术员说UF是最精密的模块,自己不会出问题的。 - 佩佩: 他们说肯定是我身体里什么本源模块出问题了… - 佩佩: 如果UF坏掉了,那我的工作…就全完了。 - 佩佩: 又是这样…我老是这样。如果我小心点…… + me: 佩佩,这个UF模块运转不太正常,我们需要做一个快速绘图测试。 + peipei: 啊,我又把它搞坏了么? + me: 又? + peipei: 之前就出过这类问题,技术员说UF是最精密的模块,自己不会出问题的。 + peipei: 他们说肯定是我身体里什么本源模块出问题了… + peipei: 如果UF坏掉了,那我的工作…就全完了。 + peipei: 又是这样…我老是这样。如果我小心点…… //////春:这里想加点分支对话,如果你能获得佩佩的信任,她后面就会多说一点自己的故事给你 ->还没确定呢 - 我: 别着急佩佩,它没有“坏掉”,只是出了一些问题。 - 我: 而且,这些问题也不一定是你造成的。 - 我: 说不定只是哪里进了一个小虫子?我帮你把它捉出来,就好了。 - 佩佩: 真的吗?一只…虫子? - 我: 只是一个说法…无论如何,需要先进行一次绘图测试。 - 我: 可以吗? + me: 别着急佩佩,它没有“坏掉”,只是出了一些问题。 + me: 而且,这些问题也不一定是你造成的。 + me: 说不定只是哪里进了一个小虫子?我帮你把它捉出来,就好了。 + peipei: 真的吗?一只…虫子? + me: 只是一个说法…无论如何,需要先进行一次绘图测试。 + me: 可以吗? ->会被修好的 - 我: 别担心佩佩,没有什么是修不好的。 - 我: 经常使用的东西总是会出些问题的,这是相当正常的。 - 我: 只要搞清楚它哪里出了问题,相信我们很快就能解决。 - 我: 我需要先进行一次绘图测试来定位问题。你能做到么? - 佩佩: 好的医生…谢谢你。是我有点太紧张了。 - 佩佩: 呼…… - 佩佩: 没问题!我能做到的。 - ///我: 佩佩,你可以操作UF进行一次快速绘图测试吗?这样我好根据结果判断它的问题。 + me: 别担心佩佩,没有什么是修不好的。 + me: 经常使用的东西总是会出些问题的,这是相当正常的。 + me: 只要搞清楚它哪里出了问题,相信我们很快就能解决。 + me: 我需要先进行一次绘图测试来定位问题。你能做到么? + peipei: 好的医生…谢谢你。是我有点太紧张了。 + peipei: 呼…… + peipei: 没问题!我能做到的。 + ///me: 佩佩,你可以操作UF进行一次快速绘图测试吗?这样我好根据结果判断它的问题。 //////这里最好检测一下玩家有没有看过书,如果看过了 //////UF模块会不断拿素材进行学习,工作会对这些学习造成某种消耗,所以工作越多,就会学习得越多(“工作压力”不是即时的) //->查询手册 @@ -620,32 +622,32 @@ position: -552,-78 //<> //[command name=listen_closeBook /] //->CloseBook - //佩佩: 当然,医生。 -我: 好的,那么我们开始吧。我还没明白这个UF是怎么工作的……需要一个画板什么的吗? -佩佩: 啊医生,不用。我不需要那个。UF不需要任何画板或者画笔。 -我: 纸和笔都不需要,怎么进行绘图? -//佩佩: 是的。我们是用UF来绘图的。 -佩佩: 我只需要在脑袋里向UF对话,描述需求,它就会自动把图画出来。 -我: 原来如此…… + //peipei: 当然,医生。 +me: 好的,那么我们开始吧。我还没明白这个UF是怎么工作的……需要一个画板什么的吗? +peipei: 啊医生,不用。我不需要那个。UF不需要任何画板或者画笔。 +me: 纸和笔都不需要,怎么进行绘图? +//peipei: 是的。我们是用UF来绘图的。 +peipei: 我只需要在脑袋里向UF对话,描述需求,它就会自动把图画出来。 +me: 原来如此…… //->画板是什么作用的<> -// 我: 那为什么…你的手上会拿着一个画板呢? +// me: 那为什么…你的手上会拿着一个画板呢? // <> -// 佩佩: 噢,那个画板,只是用来记录需求的修改的。 -// 佩佩: 你看我,什么都记不住的样子…… -// 佩佩: 但是如果是快速绘图的话,我还是没问题的。 -// 我: 原来如此。 +// peipei: 噢,那个画板,只是用来记录需求的修改的。 +// peipei: 你看我,什么都记不住的样子…… +// peipei: 但是如果是快速绘图的话,我还是没问题的。 +// me: 原来如此。 // <> //->为什么要安装在体内<> // <> -我: 那为什么这种模块要被安装在体内?它还占用了你的一只眼睛…… - 佩佩: 我不太清楚。 - 佩佩: 但是所有的绘图工都要先读完艺术学校,再进行完全的模块化改造。 - 佩佩: 现在,虽然大家的UF模块都一样,但是表现也会有不同。 - 佩佩: 之前我们学校成绩好的人,现在她的UF绘图绩效也是最好的。 - 佩佩: 而我就…… - 我: 看起来…UF并不是魔法。它还是需要使用者的绘画经验,只是绘图效率比人工更高些。 +me: 那为什么这种模块要被安装在体内?它还占用了你的一只眼睛…… + peipei: 我不太清楚。 + peipei: 但是所有的绘图工都要先读完艺术学校,再进行完全的模块化改造。 + peipei: 现在,虽然大家的UF模块都一样,但是表现也会有不同。 + peipei: 之前我们学校成绩好的人,现在她的UF绘图绩效也是最好的。 + peipei: 而我就…… + me: 看起来…UF并不是魔法。它还是需要使用者的绘画经验,只是绘图效率比人工更高些。 ->开始绘图 - 我: 那我们开始吧,佩佩。进行快速绘图测试吧。 + me: 那我们开始吧,佩佩。进行快速绘图测试吧。 <> <> === @@ -653,92 +655,92 @@ title: UFtest position: -546,144 --- ///确保是在主视角下进行UF模块的操作 -佩佩: 好的……要画什么样的图片呢? -// 我: 那么我们开始吧。佩佩,让UF生成一张图片吧。 -// 佩佩: 好的……什么样的图片呢? -我: 就按照工作来吧。我想想… -我: 就做一张罐头的海报吧。 -佩佩: 好的,医生。罐头,海报…… -佩佩: 我们想要罐头在什么地方呢? +peipei: 好的……要画什么样的图片呢? +// me: 那么我们开始吧。佩佩,让UF生成一张图片吧。 +// peipei: 好的……什么样的图片呢? +me: 就按照工作来吧。我想想… +me: 就做一张罐头的海报吧。 +peipei: 好的,医生。罐头,海报…… +peipei: 我们想要罐头在什么地方呢? ->手上 <> ///感觉现在设定不是这样了? - 我: 毕竟是给机器人吃的,让它由一个机器人拿着吧。 - 佩佩: 说的对,我想想……他应该是怎样的表情呢? + me: 毕竟是给机器人吃的,让它由一个机器人拿着吧。 + peipei: 说的对,我想想……他应该是怎样的表情呢? ->严肃的 - 我: 我觉得严肃的会比较好?毕竟罐头的味道其实挺一般的。 - 佩佩: 一般吗?好吧…我有点不太分辨得出来了。 - 佩佩: 对我来说,好像只要能快速吃完,中午我就可以多休息一会。 - 佩佩: ……啊,这个提词被UF拒绝了。 - 我: 拒绝?为什么? - 佩佩: 因为,广告上出现的人物表情都必须是符合一定规定的笑容。 + me: 我觉得严肃的会比较好?毕竟罐头的味道其实挺一般的。 + peipei: 一般吗?好吧…我有点不太分辨得出来了。 + peipei: 对我来说,好像只要能快速吃完,中午我就可以多休息一会。 + peipei: ……啊,这个提词被UF拒绝了。 + me: 拒绝?为什么? + peipei: 因为,广告上出现的人物表情都必须是符合一定规定的笑容。 ->陶醉的 - 我: 我想他应该是陶醉的?像是闭着眼睛回味的样子。 - 佩佩: 回味…我有点不太分辨得出来了。 - 佩佩: 不过我确实挺喜欢罐头的。因为它吃起来很快,可以让我中午多休息一会。 - 佩佩: ……啊,这个提词被UF拒绝了。 - 我: 拒绝?为什么? - 佩佩: 因为,广告上出现的人物表情都必须是符合一定规定的笑容。 + me: 我想他应该是陶醉的?像是闭着眼睛回味的样子。 + peipei: 回味…我有点不太分辨得出来了。 + peipei: 不过我确实挺喜欢罐头的。因为它吃起来很快,可以让我中午多休息一会。 + peipei: ……啊,这个提词被UF拒绝了。 + me: 拒绝?为什么? + peipei: 因为,广告上出现的人物表情都必须是符合一定规定的笑容。 ->开心的 - 我: 他应该看起来很开心?我印象里所有的广告上的人都笑得很开心。 - 佩佩: 你说的对,医生。我差点忘了…… - 佩佩: 其实我不应该问你这个问题。因为公司是有规定的…… - 佩佩: 广告上出现的人物表情,都必须是符合一定规定的笑容。 - 佩佩: 我竟然给忘了…哎,我怎么总是忘记各种事情? + me: 他应该看起来很开心?我印象里所有的广告上的人都笑得很开心。 + peipei: 你说的对,医生。我差点忘了…… + peipei: 其实我不应该问你这个问题。因为公司是有规定的…… + peipei: 广告上出现的人物表情,都必须是符合一定规定的笑容。 + peipei: 我竟然给忘了…哎,我怎么总是忘记各种事情? ->餐桌上 <> - 我: 听起来应该是出现在餐桌上的?这似乎是公司希望它在的地方。 - 佩佩: 你说的有道理,医生。我竟然没有想到…… - 佩佩: 我太久没有在餐桌上吃饭了。 - 佩佩: 那么…餐桌上还应该有些什么东西呢? + me: 听起来应该是出现在餐桌上的?这似乎是公司希望它在的地方。 + peipei: 你说的有道理,医生。我竟然没有想到…… + peipei: 我太久没有在餐桌上吃饭了。 + peipei: 那么…餐桌上还应该有些什么东西呢? //////本地化可能要注意下这里的元素,比如把饺子换成圣诞节礼物 ->各种菜肴 - 我: 我觉得既然是餐桌,上面应该有很多各种别的菜肴吧。 - 佩佩: 那我让UF处理一下…… - 佩佩: 啊,这个提词被UF拒绝了。 - 我: 拒绝?为什么? - 佩佩: 因为有规定,这个广告上不能出现罐头之外的任何食物。 + me: 我觉得既然是餐桌,上面应该有很多各种别的菜肴吧。 + peipei: 那我让UF处理一下…… + peipei: 啊,这个提词被UF拒绝了。 + me: 拒绝?为什么? + peipei: 因为有规定,这个广告上不能出现罐头之外的任何食物。 ->一大盘饺子 - 我: 我想这个餐桌应该属于一个家庭?或许这是春节,他们煮了饺子放在桌上。 - 佩佩: 春节? - 我: 是啊,春节的氛围应该挺好的。人人都喜欢春节:烟花,晚会,还有半天的休息! - 我: 在这样的氛围下,铁皮的罐头也会看起来柔和很多吧。 - 佩佩: 医生,你的想法挺不错呢!让我组织一下…… - 佩佩: 啊,这个提词被UF拒绝了。 - 我: 拒绝?为什么? - 佩佩: 因为有规定,这个广告上不能出现罐头之外的任何食物。 + me: 我想这个餐桌应该属于一个家庭?或许这是春节,他们煮了饺子放在桌上。 + peipei: 春节? + me: 是啊,春节的氛围应该挺好的。人人都喜欢春节:烟花,晚会,还有半天的休息! + me: 在这样的氛围下,铁皮的罐头也会看起来柔和很多吧。 + peipei: 医生,你的想法挺不错呢!让我组织一下…… + peipei: 啊,这个提词被UF拒绝了。 + me: 拒绝?为什么? + peipei: 因为有规定,这个广告上不能出现罐头之外的任何食物。 ->两杯红酒 - 我: 我想餐桌上可能会有两杯红酒? - 佩佩: 红酒?为什么? - 我: 当然是一对情侣在约会啊。“即便是约会,我也选择幸福罐头。” - 佩佩: 哈哈!医生,你真有想象力。 - 佩佩: 啊,这个提词被UF拒绝了。 - 我: 拒绝?为什么? - 佩佩: 因为有规定,这个广告上不能出现罐头之外的任何食物。 - 我: 酒也算吗? - 佩佩: 是的。规定非常严格……但我应该是知道的才对。 - 佩佩: 我竟然给忘了…哎,我怎么总是忘记各种事情? + me: 我想餐桌上可能会有两杯红酒? + peipei: 红酒?为什么? + me: 当然是一对情侣在约会啊。“即便是约会,我也选择幸福罐头。” + peipei: 哈哈!医生,你真有想象力。 + peipei: 啊,这个提词被UF拒绝了。 + me: 拒绝?为什么? + peipei: 因为有规定,这个广告上不能出现罐头之外的任何食物。 + me: 酒也算吗? + peipei: 是的。规定非常严格……但我应该是知道的才对。 + peipei: 我竟然给忘了…哎,我怎么总是忘记各种事情? ->草原上 <> - 我: 在草原上怎么样? - 佩佩: 罐头…在草原上? - 我: 是的,一望无际的草原。 - 佩佩: 可是为什么…罐头会在草原上呢? + me: 在草原上怎么样? + peipei: 罐头…在草原上? + me: 是的,一望无际的草原。 + peipei: 可是为什么…罐头会在草原上呢? ->觉得这样很艺术 - 我: 不知道。我只是觉得…这样会很美。 - 我: 一个方方圆圆的罐头,被柔软的草浪包裹着,里面透出食物的亮光…… - 佩佩: 啊,我能够想象。 + me: 不知道。我只是觉得…这样会很美。 + me: 一个方方圆圆的罐头,被柔软的草浪包裹着,里面透出食物的亮光…… + peipei: 啊,我能够想象。 ->有人准备野餐 - 我: 或许有人准备野餐,就顺手把它放在了草地上。 - 我: 欣赏着美景,也会觉得食物很天然很美味吧? + me: 或许有人准备野餐,就顺手把它放在了草地上。 + me: 欣赏着美景,也会觉得食物很天然很美味吧? ->罐头逃走了 - 我: 因为它逃走了,逃到了草原上。 - 佩佩: 逃走了? - 我: 作为一个机械生产出来的罐头,却有着向往自由灵魂! - 我: 这让罐头听起来生动了很多,不是吗?好像罐头里边的食物都是鲜活的。 - 佩佩: 我该怎么描述这个画面?我可能需要花一些工夫向UF解释…… -佩佩: 好的,UF… -佩佩: 完成了,医生。但愿… + me: 因为它逃走了,逃到了草原上。 + peipei: 逃走了? + me: 作为一个机械生产出来的罐头,却有着向往自由灵魂! + me: 这让罐头听起来生动了很多,不是吗?好像罐头里边的食物都是鲜活的。 + peipei: 我该怎么描述这个画面?我可能需要花一些工夫向UF解释…… +peipei: 好的,UF… +peipei: 完成了,医生。但愿… <> <> <> @@ -746,15 +748,15 @@ position: -546,144 <> <> <> -佩佩: 哎…果然,怪病还在。 -我: 图片看起来…有点诡异。它的色彩像是出了一些问题? -佩佩: 这段时间它总是这样。一开始还只是偶尔,现在已经每次都会是这个问题了。 -我: 看起来UF模块也不是特别稳定。既然任务这么着急,为什么不临时改人工绘图呢? -佩佩: 其实UF是特别稳定的,只是在我身上会出这种问题…技术员说一定是我自己身体里有什么怪病。 -佩佩: 而且,现在绘图工作已经只能由UF来完成了。就算我想要……我也已经好久没有画过画了。 -佩佩: 如果这个怪病治不好,如果UF不能恢复…… -我: 别担心,佩佩。我就是来帮你治疗的。 -我: 这个UF模块的绘图结果…或许可以在「UF模块常见症状」条目找到对应的症状。 +peipei: 哎…果然,怪病还在。 +me: 图片看起来…有点诡异。它的色彩像是出了一些问题? +peipei: 这段时间它总是这样。一开始还只是偶尔,现在已经每次都会是这个问题了。 +me: 看起来UF模块也不是特别稳定。既然任务这么着急,为什么不临时改人工绘图呢? +peipei: 其实UF是特别稳定的,只是在我身上会出这种问题…技术员说一定是我自己身体里有什么怪病。 +peipei: 而且,现在绘图工作已经只能由UF来完成了。就算我想要……我也已经好久没有画过画了。 +peipei: 如果这个怪病治不好,如果UF不能恢复…… +me: 别担心,佩佩。我就是来帮你治疗的。 +me: 这个UF模块的绘图结果…或许可以在「UF模块常见症状」条目找到对应的症状。 ->查询手册 <> <> @@ -765,35 +767,35 @@ position: -546,144 title: UFJudgment position: -258,-195 --- -我: 所以,对于佩佩的UF模块,现在的问题是…… +me: 所以,对于佩佩的UF模块,现在的问题是…… ->UF无法正常读取素材 <> - 我: “UF无法正常读取素材,出现此问题通常是由于记忆素材被其他模块未授权占用”…… - 佩佩: 这是…什么意思? - 我: 嗯……简单来说,UF需要使用记忆素材来绘图,但是它使用的记忆被别的进程使用了。 - 我: 暂时不知道这个进程是什么,总之它导致你的UF受到干扰,绘制的图片颜色不正确。 - //我: (临时修正)UF需要占用更多访问记忆的带宽,但是有一个顽固而不受控的神秘进程 在访问记忆。 - //我: (临时修正)当UF占用到一定程度的时候,这个进程的记忆访问就会扰乱UF的数据获取。 + me: “UF无法正常读取素材,出现此问题通常是由于记忆素材被其他模块未授权占用”…… + peipei: 这是…什么意思? + me: 嗯……简单来说,UF需要使用记忆素材来绘图,但是它使用的记忆被别的进程使用了。 + me: 暂时不知道这个进程是什么,总之它导致你的UF受到干扰,绘制的图片颜色不正确。 + //me: (临时修正)UF需要占用更多访问记忆的带宽,但是有一个顽固而不受控的神秘进程 在访问记忆。 + //me: (临时修正)当UF占用到一定程度的时候,这个进程的记忆访问就会扰乱UF的数据获取。 //////需要明确一个结论:是“跟视觉同时访问了同样的记忆”还是“需要更多带宽但是被视觉占了”?我先倾向按照后者来改,不过会涉及到手册的修改,我先不动这里 - 佩佩: 也就是说我的工作表现不佳不是我的能力原因,而是因为我身体里面有些东西…出问题了? + peipei: 也就是说我的工作表现不佳不是我的能力原因,而是因为我身体里面有些东西…出问题了? <> - 我: 不好说,我需要先找到是什么占用了这个记忆,然后获得特征码 去看记忆。 + me: 不好说,我需要先找到是什么占用了这个记忆,然后获得特征码 去看记忆。 <> - 我: 刚才检查视觉模块,有神秘进程在非法调用记忆给视觉。 - 我: 而UF的问题就是由于视觉素材被占用导致的,我觉得应该就是这个问题。 - //我: 不好说,但我感觉这个神秘进程 很有可能就是刚才在视觉模块看到的东西。 - 我: 刚才在视觉模块检查的时候获得了一个特征码 ,用它去记忆模块检索一下看看吧。 - 我: 或许我们能释放那些被占用的记忆! + me: 刚才检查视觉模块,有神秘进程在非法调用记忆给视觉。 + me: 而UF的问题就是由于视觉素材被占用导致的,我觉得应该就是这个问题。 + //me: 不好说,但我感觉这个神秘进程 很有可能就是刚才在视觉模块看到的东西。 + me: 刚才在视觉模块检查的时候获得了一个特征码 ,用它去记忆模块检索一下看看吧。 + me: 或许我们能释放那些被占用的记忆! <> - 佩佩: 好的,麻烦医生了。 + peipei: 好的,麻烦医生了。 //标记现在已经访问主视角下的UF模块了 <> <> ->记忆模块发送了指令之外的素材 - 我: 好像她的表现不是这样,再想想或者再查查书吧…… + me: 好像她的表现不是这样,再想想或者再查查书吧…… <> ->UF模块出现物理性损坏 - 我: 好像她的表现不是这样,再想想或者再查查书吧…… + me: 好像她的表现不是这样,再想想或者再查查书吧…… <> === @@ -802,55 +804,55 @@ position: 571,241 --- <> //////有一个问题:看完记忆我就能得出结论了,那么这个过程是如何让“我”得出结论的?我看到了什么可以让我确诊? -我: 好了,我们来定位一下记忆吧。 -我: 这个神秘进程 …到底在做什么呢? +me: 好了,我们来定位一下记忆吧。 +me: 这个神秘进程 …到底在做什么呢? //////大概聊下天 -我: …… -我: 定位到了。 +me: …… +me: 定位到了。 <> <> -佩佩: 要是工作也能画画…要是能永远画画就好了。 +peipei: 要是工作也能画画…要是能永远画画就好了。 同学: 哈哈,可能等我们进入公司就不这么觉得了。听说进公司之后做什么都不会再快乐了。 -佩佩: 不会的。至少画画这件事情让我感觉到很纯粹的快乐…… -佩佩: 那种朝九晚五,一眼看到头的生活,我想我反而会受不了的。 +peipei: 不会的。至少画画这件事情让我感觉到很纯粹的快乐…… +peipei: 那种朝九晚五,一眼看到头的生活,我想我反而会受不了的。 同学: 哈哈…… 同学: 但愿你是对的。 -佩佩: 我肯定是对的。 +peipei: 我肯定是对的。 <> -佩佩: 如果公司这么讨厌的话,我就不在那里干就好了啊! +peipei: 如果公司这么讨厌的话,我就不在那里干就好了啊! ///<<关闭写生图片>> ///<<展示落日图片>> <> <> -???: 好美啊。 -佩佩: 嘘,别说话。 +unknown: 好美啊。 +peipei: 嘘,别说话。 <> -???: 我们要是能一直坐在这儿就好了。 -佩佩: 都让你别说话。 +unknown: 我们要是能一直坐在这儿就好了。 +peipei: 都让你别说话。 <> -???: 我爱你。 +unknown: 我爱你。 <> //关掉灯的声音 //////这段记忆需要被替换,暂时先留着占位 <> <> -童年佩佩: 医生!看,大象! -儿科医生: 哪里有?…啊,那朵云呀。确实很像大象喔。 -儿科医生: 但是佩佩为什么会见过大象呢? -童年佩佩: 我在博物馆见过!好大好大的大象标本,有个哥哥跟我说,大象可以比房子还大! -儿科医生: 佩佩是个很有想象力的小朋友噢。 -童年佩佩: 想象力…是什么? -儿科医生: 我们的大脑里面有一个区域专门控制视觉,但是这个区域也控制想象力。 +peipei_child: 医生!看,大象! +docter: 哪里有?…啊,那朵云呀。确实很像大象喔。 +docter: 但是佩佩为什么会见过大象呢? +peipei_child: 我在博物馆见过!好大好大的大象标本,有个哥哥跟我说,大象可以比房子还大! +docter: 佩佩是个很有想象力的小朋友噢。 +peipei_child: 想象力…是什么? +docter: 我们的大脑里面有一个区域专门控制视觉,但是这个区域也控制想象力。 <> -儿科医生: 佩佩以后会成为一个艺术家的。 -童年佩佩: 艺术家又是什么? +docter: 佩佩以后会成为一个艺术家的。 +peipei_child: 艺术家又是什么? <> -童年佩佩: 医生快看,它现在更像一个飞机啦! +peipei_child: 医生快看,它现在更像一个飞机啦! <> -佩佩: 停下,医生……快停下…… -我: 感觉反胃是吗?记忆引起的情绪波动导致的,我这就退出来。 +peipei: 停下,医生……快停下…… +me: 感觉反胃是吗?记忆引起的情绪波动导致的,我这就退出来。 <> <> <> @@ -862,8 +864,8 @@ position: -212,372 <> <> //<<解锁条目-记忆模块问题归档>> -我: 居然还有这么多记忆被占用了,看来不能单独处理了 -我: 我需要找到一个方法阻止视觉继续调用记忆,查询一下手册吧。 +me: 居然还有这么多记忆被占用了,看来不能单独处理了 +me: 我需要找到一个方法阻止视觉继续调用记忆,查询一下手册吧。 ->检查手册 <> <> @@ -878,40 +880,40 @@ position: -212,372 //////需要一个“想象力”的官方定义?比如“视觉亢奋”之类的(需要措辞一下);它无法被解决,但官方也不认为它需要解决,因为可以剪线 //////这个东西是官方无法解决的,它只能解决逻辑上的数据流动问题;但如果有一个定义会让这个过程看起来没那么笨(不然第二天才忽然说有一个神秘进程 ,第一天根本没注意到,不太好) //////现在版本这两件事情是作为一块讲的,看看要不要拆开来(再明确一下:①线路有数据,影响UF全速运转;②想象力让这个线路的数据尤其大,暂不清楚有什么别的问题——实际上day2我们就看到出问题了) -我: 根据手册的内容,做一个视觉-记忆桥阻断术 就可以修复这个问题。 -///我: 手册说这个手术是没有负面效果的,而且你的症状完全符合,所以“视觉-记忆桥阻断术”应该是最适合的治疗方案了。 -佩佩: 要做手术啊?没想到…我还以为吃点药或者换点冷却液就可以了…… -我: 别害怕,佩佩,这只是个小手术。 -我: 手册上说了,对成年人是没有明显不良反应的。 -佩佩: 可是UF不是还要继续学习吗?如果我的视觉没法往记忆里传东西了…… -佩佩: 那我接下来这几十年不就没办法提供新素材给UF模块了? -我: 其实UF调用的素材绝大部分,不是很旧的,就是外源下载进去的…… -我: 简单来说,UF认为自从你开始工作之后,就没有什么新奇的值得记住的东西了。 -佩佩: ……这样吗…… +me: 根据手册的内容,做一个视觉-记忆桥阻断术 就可以修复这个问题。 +///me: 手册说这个手术是没有负面效果的,而且你的症状完全符合,所以“视觉-记忆桥阻断术”应该是最适合的治疗方案了。 +peipei: 要做手术啊?没想到…我还以为吃点药或者换点冷却液就可以了…… +me: 别害怕,佩佩,这只是个小手术。 +me: 手册上说了,对成年人是没有明显不良反应的。 +peipei: 可是UF不是还要继续学习吗?如果我的视觉没法往记忆里传东西了…… +peipei: 那我接下来这几十年不就没办法提供新素材给UF模块了? +me: 其实UF调用的素材绝大部分,不是很旧的,就是外源下载进去的…… +me: 简单来说,UF认为自从你开始工作之后,就没有什么新奇的值得记住的东西了。 +peipei: ……这样吗…… //////判断下底下这段会不会让这个手术变得看起来严重了? //////春:我感觉会,另外就是这个讨论显得特别刻意的营造悲情感 -佩佩: …… -佩佩: 早知道我就不要学这个了……早知道我就不要画画了…… -我: 我也不想这样,佩佩。但根据你主管的说法,只要你的UF恢复正常,你就不会进PIP 了。 -我: 很遗憾,这就是刚才说的那种代价吧。 -佩佩: 可是失去颜色的生活……我……我是怎么到这一步的…… -我: ……对不起,画画不是我了解的领域。我只能告诉你,要让UF恢复正常,只能进行视觉-记忆桥阻断术 。 -佩佩: 你说的对,医生。很抱歉失态了。 -我: 不要再说对不起什么的了。没什么好对不起的。 -佩佩: 对不起,医生。 -佩佩: …… +peipei: …… +peipei: 早知道我就不要学这个了……早知道我就不要画画了…… +me: 我也不想这样,佩佩。但根据你主管的说法,只要你的UF恢复正常,你就不会进PIP 了。 +me: 很遗憾,这就是刚才说的那种代价吧。 +peipei: 可是失去颜色的生活……我……我是怎么到这一步的…… +me: ……对不起,画画不是我了解的领域。我只能告诉你,要让UF恢复正常,只能进行视觉-记忆桥阻断术 。 +peipei: 你说的对,医生。很抱歉失态了。 +me: 不要再说对不起什么的了。没什么好对不起的。 +peipei: 对不起,医生。 +peipei: …… <> === title: BeforeSurgery position: 345,412 --- -我: 那么,视觉-记忆桥阻断术 ,如果你确认接受手术,就在这里签下你的名字吧。 -佩佩: ……(签字) +me: 那么,视觉-记忆桥阻断术 ,如果你确认接受手术,就在这里签下你的名字吧。 +peipei: ……(签字) ///<<手术风险告知书>> ///<<签名>> ///<<任务提示更新:进行视觉-记忆桥截断术>> -我: 好的,那么我们开始吧。 +me: 好的,那么我们开始吧。 <> <> <> @@ -932,8 +934,7 @@ position: 85,821 --- /////头部视角-视觉-记忆桥截断术 //<> - [command name=activate_socket_choice /] -[options /] +[command name=activate_socket_choice /] -> MemoryEyeScissor <> <> @@ -942,29 +943,29 @@ position: 85,821 ///<> ///<> ///<> - 佩佩: 啊…眼睛……我的…… - 佩佩: 好痛! - 我: 怎么了?怪了,这不应该引起任何痛觉的… - 佩佩: …… - 佩佩: 呼…… - 佩佩: 好像……好多了。 - 我: 还没结束…我们进视觉和UF模块检查一下吧。 + peipei: 啊…眼睛……我的…… + peipei: 好痛! + me: 怎么了?怪了,这不应该引起任何痛觉的… + peipei: …… + peipei: 呼…… + peipei: 好像……好多了。 + me: 还没结束…我们进视觉和UF模块检查一下吧。 <> <> <> <> <> -> MemoryUFScissor - 我: 我们要剪的不是这个吧 + me: 我们要剪的不是这个吧 <> // ->执行视觉-记忆桥阻断术 -// 佩佩: 啊…眼睛……我的…… -// 佩佩: 好痛! -// 我: 怎么了?怪了,这不应该引起任何痛觉的… -// 佩佩: …… -// 佩佩: 呼…… -// 佩佩: 好像……好多了。 -// 我: 进视觉和UF模块检查一下吧。 +// peipei: 啊…眼睛……我的…… +// peipei: 好痛! +// me: 怎么了?怪了,这不应该引起任何痛觉的… +// peipei: …… +// peipei: 呼…… +// peipei: 好像……好多了。 +// me: 进视觉和UF模块检查一下吧。 // <> // <> // <> @@ -981,16 +982,16 @@ position: 85,1052 <> <> <> -我: 视觉系统正常,我们再看看UF是不是恢复正常了吧。这才是最终的目的。 +me: 视觉系统正常,我们再看看UF是不是恢复正常了吧。这才是最终的目的。 ->进行绘图测试 <> <> -我: UF正常了,谨慎起见,我们还是检查一下视觉模块吧。 +me: UF正常了,谨慎起见,我们还是检查一下视觉模块吧。 <> ->检查视觉 <> <> -我: 好,都没问题了。 +me: 好,都没问题了。 <> <> ->结束治疗<> @@ -1003,19 +1004,19 @@ position: 441,1082 <> <> <> -我: 试试吧 +me: 试试吧 ->指示佩佩看天空 <> -佩佩: 天空…是什么颜色的? +peipei: 天空…是什么颜色的? ->指示佩佩观察植物 <> -佩佩: 它们都变成灰色的了…… +peipei: 它们都变成灰色的了…… ->指示佩佩观察海报 <> -佩佩: 这是…我画过的东西吗? +peipei: 这是…我画过的东西吗? ///<<任务提示更新:检查视觉模块完成>> -我: 看来成功了。那个进程被阻断了。 -我: (虽然“成功”这个说法在这里实在太奇怪了……) +me: 看来成功了。那个进程被阻断了。 +me: (虽然“成功”这个说法在这里实在太奇怪了……) <> <> @@ -1026,8 +1027,8 @@ position: -171,1128 <> ///<<任务提示更新:进行UF绘图测试>> -我: 佩佩,我们用UF画一张图吧,还是之前说的那张。 -佩佩: 好的,UF…… +me: 佩佩,我们用UF画一张图吧,还是之前说的那张。 +peipei: 好的,UF…… <> <> <> @@ -1035,9 +1036,9 @@ position: -171,1128 <> <> <> -我: 这下色彩正常了。让佩佩也检查一下吧?…… -我: 我在想什么?我已经剪断她的颜色了。 -我: …… +me: 这下色彩正常了。让佩佩也检查一下吧?…… +me: 我在想什么?我已经剪断她的颜色了。 +me: …… <> <> @@ -1051,22 +1052,22 @@ position: 86,1272 <> <> <> -我: 总算是好了。你恢复健康了。 -我: 健康……这真的算得上是健康吗? -佩佩: 谢谢你,医生。这样我总算可以完成工作了。 -我: …… -我: 感觉怎么样,还有没有哪里不舒服? -佩佩: 不舒服吗?倒也没有哪里不舒服……不过感觉有点奇怪。 -佩佩: 我感觉好平静。这就是没有想象力的感觉吗? -佩佩: 其实还挺不错的……比我想象的好多了。 -我: 那就好。 -我: 别担心,佩佩。先别想别的,把工作完成吧。 -佩佩: 你说的对,医生。等工作完成,一切都好说…… -佩佩: 我先走了,医生。现在还不是休息的时候。 -我: 再见,佩佩。 -佩佩: 再见…… +me: 总算是好了。你恢复健康了。 +me: 健康……这真的算得上是健康吗? +peipei: 谢谢你,医生。这样我总算可以完成工作了。 +me: …… +me: 感觉怎么样,还有没有哪里不舒服? +peipei: 不舒服吗?倒也没有哪里不舒服……不过感觉有点奇怪。 +peipei: 我感觉好平静。这就是没有想象力的感觉吗? +peipei: 其实还挺不错的……比我想象的好多了。 +me: 那就好。 +me: 别担心,佩佩。先别想别的,把工作完成吧。 +peipei: 你说的对,医生。等工作完成,一切都好说…… +peipei: 我先走了,医生。现在还不是休息的时候。 +me: 再见,佩佩。 +peipei: 再见…… <> -我: 希望这代价是值得的…… +me: 希望这代价是值得的…… //////这段对话形式还需要探索下——我需要玩玩coffeetalk等 === title: PlugMemory diff --git a/Assets/Resources/Yarn/PeipeiTalk2/PeipeiTalk2.yarn b/Assets/Resources/Yarn/PeipeiTalk2/PeipeiTalk2.yarn index 4fddd96ad..333b1ad3d 100644 --- a/Assets/Resources/Yarn/PeipeiTalk2/PeipeiTalk2.yarn +++ b/Assets/Resources/Yarn/PeipeiTalk2/PeipeiTalk2.yarn @@ -31,7 +31,7 @@ title: OutDoorTalk position: 66,-748 --- <> -佩佩: 医生? +peipei: 医生? <> === title: InDoorTalk @@ -40,66 +40,66 @@ position: 66,-520 ///<<播放急切冲进门的声音>> <> <> -佩佩: 对不起,我搞砸了。 -我: 佩佩?怎么了? -我: 你眼睛那儿流的是…冷却液吗? -佩佩: 我不知道,医生……我想我完了,组长肯定会让我进入PIP 的。 -佩佩: 我的头好痛…… -佩佩: 我把主机搞坏了,我把主机搞坏了…… -我: 别着急,佩佩。慢慢说。发生什么了? -佩佩: 那天回去之后,我用快速绘图自己跑了两次,看起来确实好多了。 -佩佩: 我拿给组长看,组长说还是有很多问题…… -佩佩: 但是时间紧迫,现在这样也可以将就用了。 -佩佩: 她说这是我最后一次不进入PIP 的机会。 -佩佩: 所以我就赶紧把UF连上主机,想着快点把图出出来…… +peipei: 对不起,我搞砸了。 +me: 佩佩?怎么了? +me: 你眼睛那儿流的是…冷却液吗? +peipei: 我不知道,医生……我想我完了,组长肯定会让我进入PIP 的。 +peipei: 我的头好痛…… +peipei: 我把主机搞坏了,我把主机搞坏了…… +me: 别着急,佩佩。慢慢说。发生什么了? +peipei: 那天回去之后,我用快速绘图自己跑了两次,看起来确实好多了。 +peipei: 我拿给组长看,组长说还是有很多问题…… +peipei: 但是时间紧迫,现在这样也可以将就用了。 +peipei: 她说这是我最后一次不进入PIP 的机会。 +peipei: 所以我就赶紧把UF连上主机,想着快点把图出出来…… ->主机是什么? - 我: 主机?那是什么? - 佩佩: 那是我们进行正式绘图的时候要连接的机器。 - 佩佩: 我们要先跟UF出好草图,最后再连接到主机上做正式绘制。 + me: 主机?那是什么? + peipei: 那是我们进行正式绘图的时候要连接的机器。 + peipei: 我们要先跟UF出好草图,最后再连接到主机上做正式绘制。 ->…… -佩佩: 总之,我听到主机在运转。 -佩佩: 等它结束,印刷任务就会自动传到印刷机上。 -佩佩: 再等十分钟,工作就完成了,我至少可以不进入PIP 了! -佩佩: 我坐在旁边的椅子上,感觉好困,我好久没有这么困了…… -佩佩: 我不记得我是不是睡着了,做了什么梦,还是真的看到了什么东西。 -佩佩: 我好像看到了小时候呆的那个病房,我躺在那里看窗外的云…… -佩佩: 你也看到过那个记忆,记得吗?医生。 -佩佩: 我在想,生病多好啊,生病就可以什么也不用做了。 +peipei: 总之,我听到主机在运转。 +peipei: 等它结束,印刷任务就会自动传到印刷机上。 +peipei: 再等十分钟,工作就完成了,我至少可以不进入PIP 了! +peipei: 我坐在旁边的椅子上,感觉好困,我好久没有这么困了…… +peipei: 我不记得我是不是睡着了,做了什么梦,还是真的看到了什么东西。 +peipei: 我好像看到了小时候呆的那个病房,我躺在那里看窗外的云…… +peipei: 你也看到过那个记忆,记得吗?医生。 +peipei: 我在想,生病多好啊,生病就可以什么也不用做了。 ->生病是很严肃的 - 我: …… - 我: 有的时候生病可不是闹着玩的。那可能会很危险。 - 佩佩: 我不知道,医生。如果病死的话,会比被回收更痛苦吗? - 我: 很难说。 - 佩佩: 哎,医生。我可能要生着病被…… + me: …… + me: 有的时候生病可不是闹着玩的。那可能会很危险。 + peipei: 我不知道,医生。如果病死的话,会比被回收更痛苦吗? + me: 很难说。 + peipei: 哎,医生。我可能要生着病被…… ->你确实应该好好休息了 - 我: 你看起来确实很需要休息。 - 佩佩: 我不知道,医生。我想现在我可能很难休息了…… + me: 你看起来确实很需要休息。 + peipei: 我不知道,医生。我想现在我可能很难休息了…… ->…… -佩佩: 我还没想多久,一阵蜂鸣声就把我吵醒了。 -佩佩: 那是主机的声音。 -佩佩: 我意识到主机的运转声音特别大,而且它的显示屏上显示了一个好大的感叹号。 -佩佩: 我从来没有见过这种情况……他们说主机特别强大,我也没见过它出错。 -佩佩: 我听到有人跑动的声音,我看到技术员跑过来检查主机。 -佩佩: 有人一把拔掉了我的UF的外延线。我回过头,是组长…… -佩佩: 她抓着我的肩膀不停地问我话…但是我一下子没听清她在说什么。 -佩佩: 因为我…我看到她的脸…… -佩佩: 她的脸变得好奇怪,一切都变得好奇怪…… -我: 你看到了什么? -佩佩: 医生,我好难描述。我看到好奇怪的颜色。 -佩佩: 然后我看到印刷机开始工作了,它开始印海报…但是那些图变得更奇怪了。 -佩佩: 然后印刷机也开始响起了报警声……有人跑去拍了急停按钮,声音才停下来。 -佩佩: 技术员说我需要好好检查一下我的模块,然后就去检查主机了。 -佩佩: 所以我这就过来了…组长说如果今天不能完成的话,她也保不住我了。 -我: 听上去比昨天更严重了…… -佩佩: 一切都太突然了……我的工作死线就要到了,如果不能…… -佩佩: 我是不是…修不好了?我是不是要死了? +peipei: 我还没想多久,一阵蜂鸣声就把我吵醒了。 +peipei: 那是主机的声音。 +peipei: 我意识到主机的运转声音特别大,而且它的显示屏上显示了一个好大的感叹号。 +peipei: 我从来没有见过这种情况……他们说主机特别强大,我也没见过它出错。 +peipei: 我听到有人跑动的声音,我看到技术员跑过来检查主机。 +peipei: 有人一把拔掉了我的UF的外延线。我回过头,是组长…… +peipei: 她抓着我的肩膀不停地问我话…但是我一下子没听清她在说什么。 +peipei: 因为我…我看到她的脸…… +peipei: 她的脸变得好奇怪,一切都变得好奇怪…… +me: 你看到了什么? +peipei: 医生,我好难描述。我看到好奇怪的颜色。 +peipei: 然后我看到印刷机开始工作了,它开始印海报…但是那些图变得更奇怪了。 +peipei: 然后印刷机也开始响起了报警声……有人跑去拍了急停按钮,声音才停下来。 +peipei: 技术员说我需要好好检查一下我的模块,然后就去检查主机了。 +peipei: 所以我这就过来了…组长说如果今天不能完成的话,她也保不住我了。 +me: 听上去比昨天更严重了…… +peipei: 一切都太突然了……我的工作死线就要到了,如果不能…… +peipei: 我是不是…修不好了?我是不是要死了? ->我会治好你的 - 我: 你会没事的,佩佩。我会治好你的。 + me: 你会没事的,佩佩。我会治好你的。 ->我会尽全力的 - 我: 放轻松,佩佩。我会尽全力帮你的。 -佩佩: 谢谢你……医生。 + me: 放轻松,佩佩。我会尽全力帮你的。 +peipei: 谢谢你……医生。 -> 开始治疗 -我: 我们到治疗台来吧,佩佩。 +me: 我们到治疗台来吧,佩佩。 <> === title: FixStart @@ -141,8 +141,8 @@ position: 69,-275 <> <> <> -我: 温度过高?看起来又有新的问题了…… -我: 进行插线检查吧。 +me: 温度过高?看起来又有新的问题了…… +me: 进行插线检查吧。 <> === title: Choice @@ -163,35 +163,35 @@ position: 77,22 <> <> //////晚上一次性ctrlF一下处理messageBox@CZQ - 我: 有一个报错,这次看起来也很严重。 + me: 有一个报错,这次看起来也很严重。 //->检查手册 //<> //<> //[command name=listen_closeBook /] //->CloseBook //手册: 报错代表UF被注入了未请求的素材,请进行快速绘图尝试定位问题。 - 我: 看来我们还要进行一次测试…… + me: 看来我们还要进行一次测试…… <> ->进行快速绘图 - 我: 佩佩,我们需要再做一次快速绘图。 - 佩佩: 现在吗…… + me: 佩佩,我们需要再做一次快速绘图。 + peipei: 现在吗…… <> <> ->先看看其他模块 - 我: 先看看别的模块吧。 + me: 先看看别的模块吧。 <> <> - 我: 手册说还要进行一次快速绘图检查。 + me: 手册说还要进行一次快速绘图检查。 ->进行快速绘图 - 我: 佩佩,我们需要再做一次快速绘图。 - 佩佩: 现在吗…… + me: 佩佩,我们需要再做一次快速绘图。 + peipei: 现在吗…… <> <> ->先看看其他模块 - 我: 先看看别的模块吧。 + me: 先看看别的模块吧。 <> <> - 我: 这里检查过了,UF绘图出现了新的问题,似乎是记忆模块往UF里传入了不应该传入的内容。 + me: 这里检查过了,UF绘图出现了新的问题,似乎是记忆模块往UF里传入了不应该传入的内容。 //////@CZQ <> <> @@ -206,32 +206,32 @@ position: 77,22 //插入Eye模块 <> <> - 我: 无应答应该是正常的,因为我给佩佩做了视觉-记忆桥阻断术 …… - 我: 可是跳线访问又是怎么回事? - 我: …最好进去看看。 + me: 无应答应该是正常的,因为我给佩佩做了视觉-记忆桥阻断术 …… + me: 可是跳线访问又是怎么回事? + me: …最好进去看看。 <> ->进行深入检查 - 我: 佩佩,我还需要再对你的视觉进行深入检查。 + me: 佩佩,我还需要再对你的视觉进行深入检查。 <> - 佩佩: 好的,来吧医生。 + peipei: 好的,来吧医生。 <> <> ->先看看其他模块 - 我: 等会再检查吧。 + me: 等会再检查吧。 <> <> - 我: …最好进去看看跳线访问是什么问题。 + me: …最好进去看看跳线访问是什么问题。 ->进行深入检查 - 我: 佩佩,我还需要再对你的视觉进行深入检查。 + me: 佩佩,我还需要再对你的视觉进行深入检查。 <> - 佩佩: 好的,来吧医生。 + peipei: 好的,来吧医生。 <> <> ->先看看其他模块 - 我: 等会再检查吧。 + me: 等会再检查吧。 <> <> - 我: 这里检查过了,视觉模块有一些“过期症状” + me: 这里检查过了,视觉模块有一些“过期症状” //////@CZQ <> <> @@ -246,10 +246,10 @@ position: 77,22 //插入Memory模块 <> <> - 我: 嗯……记忆看起来有些活跃,似乎比上次还要活跃一些? - 我: 但是总体看起来没什么异常,先看看其他需要检查的吧。 + me: 嗯……记忆看起来有些活跃,似乎比上次还要活跃一些? + me: 但是总体看起来没什么异常,先看看其他需要检查的吧。 <> - 我: 这里检查过了,看起来一切正常。 + me: 这里检查过了,看起来一切正常。 <> <> ->LogicView @@ -261,7 +261,7 @@ position: 77,22 <> <> <> - 我: 逻辑看起来没问题。 + me: 逻辑看起来没问题。 //////@CZQ补文本 <> ->SpeakView @@ -273,7 +273,7 @@ position: 77,22 <> <> <> - 我: 语言看起来没问题。 + me: 语言看起来没问题。 <> ->EmoView <> @@ -282,10 +282,10 @@ position: 77,22 <> <> <> - 我: 情绪看起来没问题。 + me: 情绪看起来没问题。 <> ->ColorView - 我: 这里依然是空的…当然,它不会凭空出现。 + me: 这里依然是空的…当然,它不会凭空出现。 <> === title: EyeView @@ -295,74 +295,74 @@ position: 554,12 <> <> <> -我: 还是黑白的,看不出什么问题…… -佩佩: 不,医生… -佩佩: 医生……我一旦注意看,视线里就会出现奇怪的颜色。 -佩佩: 我感觉我好像是和之前一样,但是出来的颜色… +me: 还是黑白的,看不出什么问题…… +peipei: 不,医生… +peipei: 医生……我一旦注意看,视线里就会出现奇怪的颜色。 +peipei: 我感觉我好像是和之前一样,但是出来的颜色… <> <> -佩佩: 啊……痛…… +peipei: 啊……痛…… <> -佩佩: 它变得好奇怪……我感觉自己变得好陌生。 -佩佩: 而且当颜色出现的时候,我会感觉左眼好痛…… -我: 左眼? -佩佩: 我以为我会看到绿色,或者至少看不到颜色,但是… -佩佩: 为什么…从小到大,为什么我总是出问题…… -我: 这显然不太对劲…… -我: 先别紧张,佩佩。我需要再测试一下…… +peipei: 它变得好奇怪……我感觉自己变得好陌生。 +peipei: 而且当颜色出现的时候,我会感觉左眼好痛…… +me: 左眼? +peipei: 我以为我会看到绿色,或者至少看不到颜色,但是… +peipei: 为什么…从小到大,为什么我总是出问题…… +me: 这显然不太对劲…… +me: 先别紧张,佩佩。我需要再测试一下…… //////这里要加分支逻辑——要查了手册并且做了视线指示才能得出结论,我们该按什么顺序让佩佩做?(A先指示再看书 B可以自由指示/看书,都做了触发对话“可以得出结论了”) ->指示佩佩看窗外 -我: 佩佩,看看窗外。 +me: 佩佩,看看窗外。 <> <> -佩佩: 呃…真的好痛…… +peipei: 呃…真的好痛…… <> -佩佩: 医生,它不应该是这个颜色,它不应该是这个颜色,但是…… -佩佩: 我记得天应该是蓝色的,但我好像不记得什么是蓝色了。 +peipei: 医生,它不应该是这个颜色,它不应该是这个颜色,但是…… +peipei: 我记得天应该是蓝色的,但我好像不记得什么是蓝色了。 ->指示佩佩看海报 -我: 佩佩,看看那个海报. +me: 佩佩,看看那个海报. <> <> -佩佩: 不行…我…… +peipei: 不行…我…… <> -佩佩: 我好像……不认识自己做的海报了。 +peipei: 我好像……不认识自己做的海报了。 ->指示佩佩看显示器 -我: 佩佩,看看那个显示器。 +me: 佩佩,看看那个显示器。 <> <> <> -佩佩: 它开着吗?医生……我好像什么都分辨不出来了。 -佩佩: 医生,我好难受… -我: 好,佩佩…结束了。你可以不用再看了。 -我: 我想我应该去手册看看…这像是其中被划掉了的内容。 +peipei: 它开着吗?医生……我好像什么都分辨不出来了。 +peipei: 医生,我好难受… +me: 好,佩佩…结束了。你可以不用再看了。 +me: 我想我应该去手册看看…这像是其中被划掉了的内容。 ->检查手册 <> <> [command name=listen_closeBook /] ->CloseBook -我: 好吧……我想你的症状符合这种描述。 -我: 你的视觉模块依然在尝试调用记忆,但似乎它现在在……尝试从UF模块获取数据? -我: 这解释了为什么你的左眼会痛,因为那是UF模块所在的地方…… -我: 但为什么呢……难道说是上次那个“神秘进程 ”? +me: 好吧……我想你的症状符合这种描述。 +me: 你的视觉模块依然在尝试调用记忆,但似乎它现在在……尝试从UF模块获取数据? +me: 这解释了为什么你的左眼会痛,因为那是UF模块所在的地方…… +me: 但为什么呢……难道说是上次那个“神秘进程 ”? //////这里逻辑怪怪的 //////是的,测试中发现玩家无法理解 -佩佩: 什么意思……医生? -我: 还记得你昨天看到的那些颜色吗?我说可能会有更严重的问题…而现在这就是了。 -我: 简单来说,你的视觉发现你的视觉访问不到记忆了,但它还在尝试。 -我: 所以它尝试让你的视觉“跳线”去寻找你的记忆,好从那里获得它需要的图片素材。 -我: 但是它只能跳到UF模块上,UF模块里有非常多可以用来进行色彩检索的图片…但那些都不是正常的视觉图像。 -我: 所以当视觉模块开始从UF模块里调用色彩的时候,你就看到了那些奇怪的颜色。 +peipei: 什么意思……医生? +me: 还记得你昨天看到的那些颜色吗?我说可能会有更严重的问题…而现在这就是了。 +me: 简单来说,你的视觉发现你的视觉访问不到记忆了,但它还在尝试。 +me: 所以它尝试让你的视觉“跳线”去寻找你的记忆,好从那里获得它需要的图片素材。 +me: 但是它只能跳到UF模块上,UF模块里有非常多可以用来进行色彩检索的图片…但那些都不是正常的视觉图像。 +me: 所以当视觉模块开始从UF模块里调用色彩的时候,你就看到了那些奇怪的颜色。 <> -佩佩: 啊…原来如此,所以我感觉那么奇怪…… -我: 但为什么呢……手册上的这一部分明明说已经被解决了啊? -我: 总之……这不是你的工作结果异常的原因。 +peipei: 啊…原来如此,所以我感觉那么奇怪…… +me: 但为什么呢……手册上的这一部分明明说已经被解决了啊? +me: 总之……这不是你的工作结果异常的原因。 //<> <> <> - 我: 或者说……不全是。总结一下吧。 + me: 或者说……不全是。总结一下吧。 <> <> - 我: 让我们再看看其他模块吧。 + me: 让我们再看看其他模块吧。 <> <> @@ -373,102 +373,102 @@ position: -324,10 ///确保是在主视角下进行UF模块的操作 <> <> -我: 是的,老规矩。我需要你用UF生成一张图片。 -佩佩: 不……医生。我担心…… -我: 怎么了? -佩佩: 医生…我不知道我还能不能正常工作。我已经把UF主机给弄坏了。 -佩佩: 我不想再把你的仪器也弄坏。 -我: …… -我: 别担心,佩佩,技术员会把那台主机修好的。 -我: 至于我的仪器,我们也只能试试看了。 -佩佩: …… -佩佩: 对不起。 -我: 没什么对不起的,这是我的工作。 -佩佩: 谢谢你…医生。 -佩佩: 也许我天生就不擅长工作……他们一直都是这么说的。 -佩佩: 只有我有这个问题,我总是问题最多的那个。 -佩佩: 小时候拿起画笔的时候,我第一次觉得我做得这么好…我还以为我适合做美术。 -佩佩: 也许我错了,我其实天生就不擅长…… -佩佩: 就像他们一直说的那样。 -我: …… -我: 我没见过你画的东西,但我相信你可以做得很好。 -佩佩: 为什么呢…… +me: 是的,老规矩。我需要你用UF生成一张图片。 +peipei: 不……医生。我担心…… +me: 怎么了? +peipei: 医生…我不知道我还能不能正常工作。我已经把UF主机给弄坏了。 +peipei: 我不想再把你的仪器也弄坏。 +me: …… +me: 别担心,佩佩,技术员会把那台主机修好的。 +me: 至于我的仪器,我们也只能试试看了。 +peipei: …… +peipei: 对不起。 +me: 没什么对不起的,这是我的工作。 +peipei: 谢谢你…医生。 +peipei: 也许我天生就不擅长工作……他们一直都是这么说的。 +peipei: 只有我有这个问题,我总是问题最多的那个。 +peipei: 小时候拿起画笔的时候,我第一次觉得我做得这么好…我还以为我适合做美术。 +peipei: 也许我错了,我其实天生就不擅长…… +peipei: 就像他们一直说的那样。 +me: …… +me: 我没见过你画的东西,但我相信你可以做得很好。 +peipei: 为什么呢…… ->你很特别 - 我: 我不知道你有没有意识到,你其实很特别。 - 佩佩: 我吗?我唯一特别的……也就是特别多病吧。 - 我: 作为医生,我学过很多“病症”。但总的来说,“病”是一种非常复杂的东西。 - 我: 所有“非正常”的表征都可以被称为“病”。 - 我: 我想,就像UF会夺走你的色觉一样,你的身体里也一定有什么东西特别敏感,给你带来了这些困扰。 - 我: 我不了解美术,但是历史上的艺术家似乎都总是受到各种病痛的困扰。我想他们应该也都是敏感的。 - 我: 如果说敏感是一种病,那么这些伟大的艺术家也都是有病的,但他们比健康人做得更好。 - 我: 所以我想,这种特别也许不全是一种坏事。 - 佩佩: 我…… + me: 我不知道你有没有意识到,你其实很特别。 + peipei: 我吗?我唯一特别的……也就是特别多病吧。 + me: 作为医生,我学过很多“病症”。但总的来说,“病”是一种非常复杂的东西。 + me: 所有“非正常”的表征都可以被称为“病”。 + me: 我想,就像UF会夺走你的色觉一样,你的身体里也一定有什么东西特别敏感,给你带来了这些困扰。 + me: 我不了解美术,但是历史上的艺术家似乎都总是受到各种病痛的困扰。我想他们应该也都是敏感的。 + me: 如果说敏感是一种病,那么这些伟大的艺术家也都是有病的,但他们比健康人做得更好。 + me: 所以我想,这种特别也许不全是一种坏事。 + peipei: 我…… ->我看过你的记忆 - 我: 我看过你的记忆,你在那个时候是个优秀的画家,不是吗? - 佩佩: 那个时候…… - 我: “人是由记忆构成的”。我的…有一个人这么跟我说过。 - 我: UF能替你生成图片,但是该向它描述什么,不也是你来决定的吗? - 我: 你有很好的美感,那么哪怕使用UF,你一定也可以做得很好。 - 我: 你只是不习惯工作……调整心态,你会做得很好的。 - 佩佩: 医生…… + me: 我看过你的记忆,你在那个时候是个优秀的画家,不是吗? + peipei: 那个时候…… + me: “人是由记忆构成的”。我的…有一个人这么跟我说过。 + me: UF能替你生成图片,但是该向它描述什么,不也是你来决定的吗? + me: 你有很好的美感,那么哪怕使用UF,你一定也可以做得很好。 + me: 你只是不习惯工作……调整心态,你会做得很好的。 + peipei: 医生…… ->我不知道 - 我: 我不知道,佩佩。我只是个医生。 - 我: 但我会尽全力治好你,帮你不进PIP 。 - 我: 只要你是我的病人,我就要把你治好。这是公司给我的规定,也是我对自己的要求。 - 佩佩: …… -佩佩: 谢谢你,医生。 -佩佩: 啊……又开始痛了…… -我: 我们快回到治疗上吧。尽早定位你的问题,你就尽早可以不痛了 。 -佩佩: 好的,医生…我们要绘制一张什么图片呢? + me: 我不知道,佩佩。我只是个医生。 + me: 但我会尽全力治好你,帮你不进PIP 。 + me: 只要你是我的病人,我就要把你治好。这是公司给我的规定,也是我对自己的要求。 + peipei: …… +peipei: 谢谢你,医生。 +peipei: 啊……又开始痛了…… +me: 我们快回到治疗上吧。尽早定位你的问题,你就尽早可以不痛了 。 +peipei: 好的,医生…我们要绘制一张什么图片呢? //////超生硬的转折!——也许可以这么做?:手册建议生成某种特定的图片/以某种特定promt生成(比如:要生成日常不常见的东西),所以需要你们去联想 //////思路有点卡,先占位着 -我: 这次就由你来决定吧。 -佩佩: 我吗?我…我想想。 -佩佩: 太久没有画海报以外的东西了…就画一幅风景画吧。 -佩佩: 虽然我已经不知道自己会不会画画了,但也许我还可以用UF做这件事情? -我: 试一试吧,佩佩。 -佩佩: ……医生,如果离开这里,离开幸福园区,你会去什么地方呢? -我: 我想想。或许…… +me: 这次就由你来决定吧。 +peipei: 我吗?我…我想想。 +peipei: 太久没有画海报以外的东西了…就画一幅风景画吧。 +peipei: 虽然我已经不知道自己会不会画画了,但也许我还可以用UF做这件事情? +me: 试一试吧,佩佩。 +peipei: ……医生,如果离开这里,离开幸福园区,你会去什么地方呢? +me: 我想想。或许…… ->海边小屋 - 我: 我有和你说过吗?我小时候住在一个海边的小屋。那个时候…海还是蓝色的。 - 佩佩: 医生的童年…竟然生活在这样美丽的地方吗? - 佩佩: 我曾经幻想过,如果生活在海边,每天都能吹到海风,心情一定会每天都很好。 - 我: 不,其实海风的味道糟透了。那里面有沙子,还有盐。黏糊糊的。 - 我: 尤其是当退潮又出太阳的时候…我的鼻子总是比眼睛更先知道的。 - 我: 海里的腥味混合着腐烂的鱼虾和海草的味道…我和姐姐几乎从来都不打开窗户。 - 我: …… - 我: 我想念海风了。 - 佩佩: 原来海边也不是那么好啊。 - 佩佩: 但不管怎样,都比呆在这里,成天对着罐头上那个笑脸小人要好…… + me: 我有和你说过吗?我小时候住在一个海边的小屋。那个时候…海还是蓝色的。 + peipei: 医生的童年…竟然生活在这样美丽的地方吗? + peipei: 我曾经幻想过,如果生活在海边,每天都能吹到海风,心情一定会每天都很好。 + me: 不,其实海风的味道糟透了。那里面有沙子,还有盐。黏糊糊的。 + me: 尤其是当退潮又出太阳的时候…我的鼻子总是比眼睛更先知道的。 + me: 海里的腥味混合着腐烂的鱼虾和海草的味道…我和姐姐几乎从来都不打开窗户。 + me: …… + me: 我想念海风了。 + peipei: 原来海边也不是那么好啊。 + peipei: 但不管怎样,都比呆在这里,成天对着罐头上那个笑脸小人要好…… <> //////图片上是一片海上落日,但画面上有很多个罐头上的笑脸小人 ->上月球 - 我: 月球。我想上月球去。 - 佩佩: 为什么呢? - 我: 我也不知道…我就是想到那去。 - 我: 你不想知道上面是什么样子的吗? - 佩佩: 我…我不知道。 - 佩佩: 每天下班都能看到月亮,抬头看,它总是在那里。 - 佩佩: 好像那么近,但我想我们一辈子也没有机会摸到…… - 佩佩: 记得小时候困惑,为什么月亮的阴晴圆缺和日历上的一个月并不是对应的? - 佩佩: 但现在…只有在要写月报的时候,我才知道一个月又过去了。 + me: 月球。我想上月球去。 + peipei: 为什么呢? + me: 我也不知道…我就是想到那去。 + me: 你不想知道上面是什么样子的吗? + peipei: 我…我不知道。 + peipei: 每天下班都能看到月亮,抬头看,它总是在那里。 + peipei: 好像那么近,但我想我们一辈子也没有机会摸到…… + peipei: 记得小时候困惑,为什么月亮的阴晴圆缺和日历上的一个月并不是对应的? + peipei: 但现在…只有在要写月报的时候,我才知道一个月又过去了。 <> //////图片是月球表面的景色,但画面上还有很多个月亮 ->你小时候生活的地方 - 我: 带我去你生活过的地方看看吧。 - 我: 你不是说你在南方长大吗,那里会下雪吗? - 佩佩: 我的家乡吗……不会。那里从来不会下雪。 - 佩佩: 但是它会下雨。很大很大的雨,下很久,一切都湿透了…天空都会变成灰绿色。 - 佩佩: 那个时候觉得,下雨的声音让人特别安心,昏昏欲睡。 - 佩佩: ……哎。 - 我: 怎么了? - 佩佩: 我刚才在想,为什么我现在对这个声音感觉有些厌烦了? - 佩佩: 才意识到,我脑袋里的是UF主机显示器的雪花屏的声音。他们是那么像…… + me: 带我去你生活过的地方看看吧。 + me: 你不是说你在南方长大吗,那里会下雪吗? + peipei: 我的家乡吗……不会。那里从来不会下雪。 + peipei: 但是它会下雨。很大很大的雨,下很久,一切都湿透了…天空都会变成灰绿色。 + peipei: 那个时候觉得,下雨的声音让人特别安心,昏昏欲睡。 + peipei: ……哎。 + me: 怎么了? + peipei: 我刚才在想,为什么我现在对这个声音感觉有些厌烦了? + peipei: 才意识到,我脑袋里的是UF主机显示器的雪花屏的声音。他们是那么像…… <> //////图片上是一个阴暗的旧房间,但画面上有很多个电视机屏幕 -佩佩: 啊…怎么又开始了?好痛…… -佩佩: 呼……我在干什么?我只要尽快把提词输入给UF就好了。 -佩佩: 好的,完成了…… +peipei: 啊…怎么又开始了?好痛…… +peipei: 呼……我在干什么?我只要尽快把提词输入给UF就好了。 +peipei: 好的,完成了…… <> <> <> @@ -476,26 +476,26 @@ position: -324,10 <> <> <> -佩佩: 不,不……这肯定不对。这不是我要的内容。不应该有这么多重复的图案…… -佩佩: 昨天好歹还只是有奇怪的颜色,今天这个样子……这根本说不上是一张风景画。 -佩佩: 医生,我需要休息一会…… -我: 好,你先歇一会吧。我记得「UF模块常见症状」有对这种问题的描述…… +peipei: 不,不……这肯定不对。这不是我要的内容。不应该有这么多重复的图案…… +peipei: 昨天好歹还只是有奇怪的颜色,今天这个样子……这根本说不上是一张风景画。 +peipei: 医生,我需要休息一会…… +me: 好,你先歇一会吧。我记得「UF模块常见症状」有对这种问题的描述…… ->检查手册 <> <> [command name=listen_closeBook /] ->CloseBook -我: “记忆模块错误地重复发送了指令外的错误素材”…… -我: 一般情况下,记忆是不会主动向外部发送数据的……难道说…… -我: 又是昨天让佩佩能够看到一些颜色的那个“神秘进程 ”? +me: “记忆模块错误地重复发送了指令外的错误素材”…… +me: 一般情况下,记忆是不会主动向外部发送数据的……难道说…… +me: 又是昨天让佩佩能够看到一些颜色的那个“神秘进程 ”? <> -我: 怎么办?手册也没有给出解决办法…… +me: 怎么办?手册也没有给出解决办法…… <> <> - 我: 别慌。先总结一下吧…… + me: 别慌。先总结一下吧…… <> <> - 我: 让我们再看看其他模块吧。 + me: 让我们再看看其他模块吧。 <> <> @@ -506,109 +506,109 @@ position: -209,312 --- ///<> ///<<任务提示更新: 进行诊断已完成>> -佩佩: 医生…现在该怎么办?我感觉我的左眼几乎要烧坏了…… -我: 好吧,现在的问题比较棘手。 -我: 手册上的信息似乎不足以解决你的问题了。我现在所能看到的是…… -我: 有一个神秘进程 在让你的记忆尝试跳线获取视觉数据,也在让你的记忆尝试跳线发送视觉数据。 -我: 记忆输送的过量异常素材,导致了你的UF模块过热。 -佩佩: 什么意思? -我: 形象地说,有一种我看不见的东西,在使你的记忆和视觉互相寻找。 -我: 这实在是有点诡异。就像是你的视觉和记忆不适应失去连接的状态,正在尝试寻找对方。 -我: 这是为什么呢?我是严格按照手册的方式去做的…… +peipei: 医生…现在该怎么办?我感觉我的左眼几乎要烧坏了…… +me: 好吧,现在的问题比较棘手。 +me: 手册上的信息似乎不足以解决你的问题了。我现在所能看到的是…… +me: 有一个神秘进程 在让你的记忆尝试跳线获取视觉数据,也在让你的记忆尝试跳线发送视觉数据。 +me: 记忆输送的过量异常素材,导致了你的UF模块过热。 +peipei: 什么意思? +me: 形象地说,有一种我看不见的东西,在使你的记忆和视觉互相寻找。 +me: 这实在是有点诡异。就像是你的视觉和记忆不适应失去连接的状态,正在尝试寻找对方。 +me: 这是为什么呢?我是严格按照手册的方式去做的…… <> <> <> <> <> <> -我: 手册用简单的一句“已被彻底解决”就把我打发了……可是佩佩身上明明还有这个问题啊? -我: 或许手册错了? -佩佩: 医生,你知道进入PIP 的人最后都去哪儿了吗? -我: 老实说,我不知道。他们…最后都没有回来。我不想去想这个问题。 -佩佩: 我开始想,或许这样的生活…也并不值得再继续下去了。 -佩佩: 也许不再回来也挺好的,我想我根本就不适合在这儿。 -我: 你应该知道这是什么意思。 -佩佩: 我知道这是什么意思。 -我: …… -佩佩: 还记得你让我看的绿萝吗?还有那片草原,山顶上那个小长椅…… -佩佩: 我确实经常想象我有一天会回去…回到…… -佩佩: 嘶…好痛!又开始了…… -我: 我好像…发现一些规律了…… -我: 当你做一些事情的时候,你就会开始痛…… -佩佩: 你是说,想象? -我: 想象…?这听起来是一个很模糊的概念…但那个“神秘进程 ”也同样是模糊的。 -我: 或许真的是这样…也就是说…… -我: 你一直是在“想象”视野里的颜色? -佩佩: 我想你可以这么说,医生。但想象力…不是一个很正常的东西吗? -我: 一般机器人在清醒的情况下,记忆模块是不会传输数据给视觉模块的。 -我: 但是你会。而这种想象力加剧了这种数据传输……也就阻止了UF正常工作。 -我: 总之……现在只有让想象停止,你的UF才能恢复正常。 -佩佩: 停止…想象?我不明白。怎么做到? -我: 好吧……老实说…我不知道。 -佩佩: 医生…您不知道?手册不是涉及了所有情况吗? -我: 手册甚至不知道什么是想象力。我们已经不能按照手册指示操作了。 -我: 尽管机器人技术已经发展了80年,但是对于想象力… -我: 对我们来说还是一个黑盒子。 -佩佩: 黑盒子……可是我能清晰地感觉到它呀! -佩佩: 想象力是那么清晰,我可以…… -我: 佩佩,我相信既然你能感受到它,就能尝试控制它。 -我: 就像你唤醒它一样,用同样的方式让它停下吧。 +me: 手册用简单的一句“已被彻底解决”就把我打发了……可是佩佩身上明明还有这个问题啊? +me: 或许手册错了? +peipei: 医生,你知道进入PIP 的人最后都去哪儿了吗? +me: 老实说,我不知道。他们…最后都没有回来。我不想去想这个问题。 +peipei: 我开始想,或许这样的生活…也并不值得再继续下去了。 +peipei: 也许不再回来也挺好的,我想我根本就不适合在这儿。 +me: 你应该知道这是什么意思。 +peipei: 我知道这是什么意思。 +me: …… +peipei: 还记得你让我看的绿萝吗?还有那片草原,山顶上那个小长椅…… +peipei: 我确实经常想象我有一天会回去…回到…… +peipei: 嘶…好痛!又开始了…… +me: 我好像…发现一些规律了…… +me: 当你做一些事情的时候,你就会开始痛…… +peipei: 你是说,想象? +me: 想象…?这听起来是一个很模糊的概念…但那个“神秘进程 ”也同样是模糊的。 +me: 或许真的是这样…也就是说…… +me: 你一直是在“想象”视野里的颜色? +peipei: 我想你可以这么说,医生。但想象力…不是一个很正常的东西吗? +me: 一般机器人在清醒的情况下,记忆模块是不会传输数据给视觉模块的。 +me: 但是你会。而这种想象力加剧了这种数据传输……也就阻止了UF正常工作。 +me: 总之……现在只有让想象停止,你的UF才能恢复正常。 +peipei: 停止…想象?我不明白。怎么做到? +me: 好吧……老实说…我不知道。 +peipei: 医生…您不知道?手册不是涉及了所有情况吗? +me: 手册甚至不知道什么是想象力。我们已经不能按照手册指示操作了。 +me: 尽管机器人技术已经发展了80年,但是对于想象力… +me: 对我们来说还是一个黑盒子。 +peipei: 黑盒子……可是我能清晰地感觉到它呀! +peipei: 想象力是那么清晰,我可以…… +me: 佩佩,我相信既然你能感受到它,就能尝试控制它。 +me: 就像你唤醒它一样,用同样的方式让它停下吧。 // <> -佩佩: 该怎么做才能停止想象?我不明白。 +peipei: 该怎么做才能停止想象?我不明白。 ->让佩佩保持专注 - 我: 佩佩,我需要你振作起来。 - 我: 不要想别的事情,保持专注,控制住你的思绪。 - 我: 你是你自己的主人,无论是你的想象力还是你的UF,不要被它们干扰。 - 佩佩: 呼…好的,保持专注…… + me: 佩佩,我需要你振作起来。 + me: 不要想别的事情,保持专注,控制住你的思绪。 + me: 你是你自己的主人,无论是你的想象力还是你的UF,不要被它们干扰。 + peipei: 呼…好的,保持专注…… ->让佩佩紧张起来 - 我: 这很重要,佩佩。你不想要被抹除想象,你也不想要进PIP ,对吧? - 佩佩: 我不想……我不知道。医生。我只是害怕…… - 我: 现在只有你自己能做到这件事情,只有你自己才能救你自己。 - 佩佩: 你说得对,医生。 + me: 这很重要,佩佩。你不想要被抹除想象,你也不想要进PIP ,对吧? + peipei: 我不想……我不知道。医生。我只是害怕…… + me: 现在只有你自己能做到这件事情,只有你自己才能救你自己。 + peipei: 你说得对,医生。 ->让佩佩放松 - 我: 别害怕,佩佩。你生病了,这不是你的错。 - 我: 我知道你很痛苦,这场治疗结束你就康复了。很快就结束了。 - 我: 我需要你配合才能完成这场治疗,我希望你能保持轻松,不要太紧张。 - 佩佩: 好的,这不是我的错……这不是我的错。 - 佩佩: 很快就结束了…… -我: 很好,现在闭上眼睛。 -佩佩: 好。 + me: 别害怕,佩佩。你生病了,这不是你的错。 + me: 我知道你很痛苦,这场治疗结束你就康复了。很快就结束了。 + me: 我需要你配合才能完成这场治疗,我希望你能保持轻松,不要太紧张。 + peipei: 好的,这不是我的错……这不是我的错。 + peipei: 很快就结束了…… +me: 很好,现在闭上眼睛。 +peipei: 好。 ->提示佩佩想象罐头 - 我: 你说过UF给你输入了很多关于罐头的图像,你可以试着回忆一下那些图像,那些应该是安全的。 - 佩佩: 好的…我这就做…… - 佩佩: 罐头……罐头……还是罐头。 - 佩佩: 罐头在什么地方呢?是在海报上,还是有人拿着它?嘶… - 我: 什么也没有,就只想像罐头。 + me: 你说过UF给你输入了很多关于罐头的图像,你可以试着回忆一下那些图像,那些应该是安全的。 + peipei: 好的…我这就做…… + peipei: 罐头……罐头……还是罐头。 + peipei: 罐头在什么地方呢?是在海报上,还是有人拿着它?嘶… + me: 什么也没有,就只想像罐头。 ->提示佩佩想象黑白的图像 - 我: 你看到的画面本来就是黑白的,那么你应该也可以想象黑白的世界吧? - 佩佩: 我可以…… - 佩佩: 不……好像我越去想象黑白,就反而越有颜色了。 - 我: 放轻松,就想象你本来就看不到颜色。想象你是一个先天看不见颜色的孩子。 - 佩佩: 我先天就看不见颜色…… - 佩佩: 我还是…会时不时地……医生,我的脑子好乱…痛…… + me: 你看到的画面本来就是黑白的,那么你应该也可以想象黑白的世界吧? + peipei: 我可以…… + peipei: 不……好像我越去想象黑白,就反而越有颜色了。 + me: 放轻松,就想象你本来就看不到颜色。想象你是一个先天看不见颜色的孩子。 + peipei: 我先天就看不见颜色…… + peipei: 我还是…会时不时地……医生,我的脑子好乱…痛…… ->提示佩佩什么都不要想 - 我: 保持什么也不要想,深呼吸。 - 佩佩: 什么也不想…… - 佩佩: ……这意味着我该想象一片黑色吗? - 我: 不,黑色是你看到的东西,不是你想象出来的。你就盯着视野中间一个点,什么也不要做。 - 佩佩: 但我好像看到了我自己的鼻子,那是我想象出来的吗?我分不清…但是它又开始痛了…… - 我: 是的,那也是你的想象。你什么也看不到。 -我: 有一个方法来清空你的思绪。 -我: 如果你无法控制你的大脑活动,试着说“停止”。 -佩佩: 就……说出来吗? -我: 是的。一旦你意识到这不是你想要去想的东西,就对自己喊“停止”,然后你就会停下来。 -佩佩: 让我试试…… + me: 保持什么也不要想,深呼吸。 + peipei: 什么也不想…… + peipei: ……这意味着我该想象一片黑色吗? + me: 不,黑色是你看到的东西,不是你想象出来的。你就盯着视野中间一个点,什么也不要做。 + peipei: 但我好像看到了我自己的鼻子,那是我想象出来的吗?我分不清…但是它又开始痛了…… + me: 是的,那也是你的想象。你什么也看不到。 +me: 有一个方法来清空你的思绪。 +me: 如果你无法控制你的大脑活动,试着说“停止”。 +peipei: 就……说出来吗? +me: 是的。一旦你意识到这不是你想要去想的东西,就对自己喊“停止”,然后你就会停下来。 +peipei: 让我试试…… ->让佩佩保持一段时间 -佩佩: …… -佩佩: 停止。 -我: 很好,就保持这样。 -佩佩: …… -佩佩: 停止。很好…… -佩佩:…… -我: …… -我: 好了。现在感觉如何? -佩佩: 我不知道,我觉得现在好像很没有想象力。也许。 -我: 那我们试试吧。 +peipei: …… +peipei: 停止。 +me: 很好,就保持这样。 +peipei: …… +peipei: 停止。很好…… +peipei:…… +me: …… +me: 好了。现在感觉如何? +peipei: 我不知道,我觉得现在好像很没有想象力。也许。 +me: 那我们试试吧。 <> <> @@ -631,12 +631,12 @@ position: 124,513 <> ->进入视觉模块 <> -我: 我们开始吧。 +me: 我们开始吧。 ->指示佩佩看天空 <> <> <> -我: 似乎成功了,很好…… +me: 似乎成功了,很好…… ->指示佩佩观察机器 <> @@ -644,22 +644,22 @@ position: 124,513 <> <> <> -佩佩: 不…不对。停止。停止。停止想象,停止想象。 +peipei: 不…不对。停止。停止。停止想象,停止想象。 ///<<画面波动了一下,颜色消失>> -佩佩: 停止想象…… +peipei: 停止想象…… ///<<颜色慢慢重新出现>> -佩佩: 停止想象,停止想象,停止想象,停止,停止! -我: 冷静,佩佩。 +peipei: 停止想象,停止想象,停止想象,停止,停止! +me: 冷静,佩佩。 ->指示佩佩观察植物 ///<<画面波动了一下,角色出现了颜色>> <> <> <> -佩佩: 不!停止! +peipei: 不!停止! ///<<播放动画:一只手拍了一下镜头,画面闪烁了一下,颜色变得更鲜艳了>> -佩佩: 停止想象!停止想象!停止想象! -佩佩: 都是因为你,都是因为你!我…我才…… -我: 够了。 +peipei: 停止想象!停止想象!停止想象! +peipei: 都是因为你,都是因为你!我…我才…… +me: 够了。 <> //<> //<> @@ -677,43 +677,43 @@ position: 124,513 <> <> <> -佩佩: 都是因为想象力…我才到今天这个地步的…… -佩佩: 我想我…我想我没有成为艺术家的命。 -我: 佩佩…… +peipei: 都是因为想象力…我才到今天这个地步的…… +peipei: 我想我…我想我没有成为艺术家的命。 +me: 佩佩…… // <> -佩佩: 我的头好痛……医生,UF模块…它好像在烧一样…… -佩佩: 一直是这样。事情从来没有变化过。我总是在生病, -我: 看起来你的过热症状越来越严重了。 -我: 这个问题没有要停止的意思…这样下去你会有生命危险。 -我: 哎…假如你的色觉芯片还在,也就不会有色彩想象,也就不会有记忆占用的问题了。 -我: 这实在是太荒谬了。 -我: 一个负责产生图像想象力机器,却没有提供任何关于“想象力”的处理方案,甚至没有一次提到过“想象力”…… -我: 手册说只要剪断你的视觉-记忆桥,就可以阻断这个进程……但也许它低估了想象力的力量。 -我: 而且,它其实并不能兼容想象力。如果一个绘图工有想象力,反而不利于她完成美术工作…… -佩佩: 其实这样说,会被认为是不专业的。 -佩佩: 绘图工的工作是提供精准的提词,你所说的“想象”是UF做的事情…… -我: …… -佩佩: 医生……不如我们把它拆开来看看? -我: 拆开…UF? -佩佩: 我想,现在既然是UF在发热,说不定拆开有办法在里面处理好呢? -我: 按理来说…我没有随意处置UF模块的权利,但是…… -我: 守则确实有说“在紧急情况下”可以根据实际情况操作。 -我: 而现在如果不想尽办法中止这个发热的话,佩佩人都要没了。这不是紧急情况,什么是? -我: 好吧,那我们就这么做吧。 -我: 至于手术风险告知书…… +peipei: 我的头好痛……医生,UF模块…它好像在烧一样…… +peipei: 一直是这样。事情从来没有变化过。我总是在生病, +me: 看起来你的过热症状越来越严重了。 +me: 这个问题没有要停止的意思…这样下去你会有生命危险。 +me: 哎…假如你的色觉芯片还在,也就不会有色彩想象,也就不会有记忆占用的问题了。 +me: 这实在是太荒谬了。 +me: 一个负责产生图像想象力机器,却没有提供任何关于“想象力”的处理方案,甚至没有一次提到过“想象力”…… +me: 手册说只要剪断你的视觉-记忆桥,就可以阻断这个进程……但也许它低估了想象力的力量。 +me: 而且,它其实并不能兼容想象力。如果一个绘图工有想象力,反而不利于她完成美术工作…… +peipei: 其实这样说,会被认为是不专业的。 +peipei: 绘图工的工作是提供精准的提词,你所说的“想象”是UF做的事情…… +me: …… +peipei: 医生……不如我们把它拆开来看看? +me: 拆开…UF? +peipei: 我想,现在既然是UF在发热,说不定拆开有办法在里面处理好呢? +me: 按理来说…我没有随意处置UF模块的权利,但是…… +me: 守则确实有说“在紧急情况下”可以根据实际情况操作。 +me: 而现在如果不想尽办法中止这个发热的话,佩佩人都要没了。这不是紧急情况,什么是? +me: 好吧,那我们就这么做吧。 +me: 至于手术风险告知书…… -> 让佩佩签告知书 - 我: 我想我们最好还是把这张风险告知书签了,佩佩。谨慎起见。 - 佩佩: 当然,医生……什么都可以。 - 我: 那么…我们来吧。 + me: 我想我们最好还是把这张风险告知书签了,佩佩。谨慎起见。 + peipei: 当然,医生……什么都可以。 + me: 那么…我们来吧。 佩佩在手术风险告知书上签字 -> 别管什么告知书了 - 我: 去他妈的告知书吧。 - 我: 没有时间可以浪费了,我们来吧。 + me: 去他妈的告知书吧。 + me: 没有时间可以浪费了,我们来吧。 ///<<手术风险告知书>> ///<<签名>> ///<<任务提示更新:进行视觉-记忆桥截断术>> -我: 拆开UF,看看数据究竟流向哪里,有没有办法阻断它,把温度降下来。 -佩佩: 好…医生。我好累,希望我们很快就结束了。 +me: 拆开UF,看看数据究竟流向哪里,有没有办法阻断它,把温度降下来。 +peipei: 好…医生。我好累,希望我们很快就结束了。 <> @@ -736,7 +736,7 @@ position: 85,821 <> <> 封条: 警告:UnstableFusion属于公司财产,严禁个人拆卸、调试! - 我: 好吧…我想现在你没有任何意义了。 + me: 好吧…我想现在你没有任何意义了。 ->揭除UF封条 //<>//撬棍入场 //<> @@ -746,68 +746,68 @@ position: 85,821 <> <> //////撬开来之后佩佩应该就开始痛,直到你说这不会停下,佩佩吼着让你把它拆掉 - 佩佩: 啊…医生,又开始痛了… - 我: 不好…看来UF的光漏了出来,正在灼烧她的左侧视觉…… - 佩佩: 好痛!好像在烧一样…… - 我: 等会…这个方形的是…… - 我: 色觉芯片? - 我: 原来你的色觉芯片在这儿,被放到了UF模块里! - 我: 佩佩,你记得装UF模块的时候,他们有和你说吗? - 佩佩: 什么?……我不知道,他们就让我签了一个协议。 - 我: 好吧,先别管它了…… - 我: 看起来数据都汇入了这个自我学习模块…… + peipei: 啊…医生,又开始痛了… + me: 不好…看来UF的光漏了出来,正在灼烧她的左侧视觉…… + peipei: 好痛!好像在烧一样…… + me: 等会…这个方形的是…… + me: 色觉芯片? + me: 原来你的色觉芯片在这儿,被放到了UF模块里! + me: 佩佩,你记得装UF模块的时候,他们有和你说吗? + peipei: 什么?……我不知道,他们就让我签了一个协议。 + me: 好吧,先别管它了…… + me: 看起来数据都汇入了这个自我学习模块…… <> <> ->执行绘图 <> ///替代描述: 【观察自我学习模块的预览窗口】 ///替代描述: 【看到画面被UF揉碎、扭曲、变成罐头图片】 -我: ...... -我: 佩佩,我做不到..... -我: UF模块中这个绘图过程……无法被停止。 -我: 它会一直学习,只要你还活着,它还在你的身体里,就不会停下 -佩佩: 呕…真的不行了,医生……停下。 +me: ...... +me: 佩佩,我做不到..... +me: UF模块中这个绘图过程……无法被停止。 +me: 它会一直学习,只要你还活着,它还在你的身体里,就不会停下 +peipei: 呕…真的不行了,医生……停下。 <> <> -佩佩: 让它从我的身体里出去吧。我不要带着它被回收…… -我: 这意味着你会无法完成工作,最终导致你进PIP 。这真的没问题吗? -佩佩: 我有别的可能性吗?我已经认清楚了……与其如此,不如让我最后回去看一看吧。 -我: 可是#auto_next -佩佩: ……求求你,医生。把它拆掉吧! -我: 好吧。 +peipei: 让它从我的身体里出去吧。我不要带着它被回收…… +me: 这意味着你会无法完成工作,最终导致你进PIP 。这真的没问题吗? +peipei: 我有别的可能性吗?我已经认清楚了……与其如此,不如让我最后回去看一看吧。 +me: 可是#auto_next +peipei: ……求求你,医生。把它拆掉吧! +me: 好吧。 <> <> <> ->执行拆除UF的操作 -我: UF好像是被铆死在上面的…… -我: 时间紧急,只能用撬棍把它撬下来了。 +me: UF好像是被铆死在上面的…… +me: 时间紧急,只能用撬棍把它撬下来了。 //<> <>//撬棍入场 <> [command name=activate_socket_choice /] ->UFViewCrowBar <> -佩佩: 啊! +peipei: 啊! <> -佩佩: 呼…… -佩佩: 终于…不再痛了…… -我: 佩佩,你…… -佩佩: 哈哈,医生……我感觉好多了,谢谢你。 -佩佩: 就好像蒙在脑袋里的一块布终于被拿掉了… -佩佩: 可爱的植物,蓝天…想象又回来了。我真怕我不再知道你们是什么颜色了。 -我: 但是你没办法再完成工作了。 -佩佩: 比起工作来说… -佩佩: 医生,你刚才在UF模块里找到了我的色觉芯片? -我: 我想是的。 -佩佩: 帮我把它装回去吧…装回它本来该在的位置。 -我: 色觉芯片吗? -佩佩: 当然啦。我想知道,我的想象一直都是对的吗? -佩佩: 我已经太久没有看到过真实的色彩了…我想要看到。 +peipei: 呼…… +peipei: 终于…不再痛了…… +me: 佩佩,你…… +peipei: 哈哈,医生……我感觉好多了,谢谢你。 +peipei: 就好像蒙在脑袋里的一块布终于被拿掉了… +peipei: 可爱的植物,蓝天…想象又回来了。我真怕我不再知道你们是什么颜色了。 +me: 但是你没办法再完成工作了。 +peipei: 比起工作来说… +peipei: 医生,你刚才在UF模块里找到了我的色觉芯片? +me: 我想是的。 +peipei: 帮我把它装回去吧…装回它本来该在的位置。 +me: 色觉芯片吗? +peipei: 当然啦。我想知道,我的想象一直都是对的吗? +peipei: 我已经太久没有看到过真实的色彩了…我想要看到。 //////这里感觉是不是说规定好一点?其实感觉医生这里爆粗会不错233 -我: 这已经超出了公司规定的职能范围了…… -我: 但是……去他妈的职能,我真是受够了。 -我: 既然这些条条文文的不能解决我的病人的问题……那么我来想办法解决。 -我: 我们来吧。 +me: 这已经超出了公司规定的职能范围了…… +me: 但是……去他妈的职能,我真是受够了。 +me: 既然这些条条文文的不能解决我的病人的问题……那么我来想办法解决。 +me: 我们来吧。 <> <> <> @@ -824,32 +824,32 @@ position: 85,821 title: ColorRecover position: 85,1052 --- -我: 好的…让我进行一下初始化。 -佩佩: 医生,谢谢你。 -我: 我?我并没有治好你……不,你不应该谢谢我。 -佩佩: 这不是你的错。不是因为医生没治好,病人才生病的。 -佩佩: 这不是你告诉我的道理吗? -佩佩: 我知道你有任务在身,但你是真心想要帮助我,治好我…… -佩佩: 你说想象力是可贵的,尽管想象力不能帮我更好地操作UF。 +me: 好的…让我进行一下初始化。 +peipei: 医生,谢谢你。 +me: 我?我并没有治好你……不,你不应该谢谢我。 +peipei: 这不是你的错。不是因为医生没治好,病人才生病的。 +peipei: 这不是你告诉我的道理吗? +peipei: 我知道你有任务在身,但你是真心想要帮助我,治好我…… +peipei: 你说想象力是可贵的,尽管想象力不能帮我更好地操作UF。 //感觉慈悲和伟大从佩佩嘴里说出来略怪 -佩佩: 医生,我觉得你也是可贵的。 -//佩佩: 医生,我觉得你的慈悲心也是可贵的。 -//佩佩: 你说艺术家是伟大的,你也是伟大的,医生。 -我: …… +peipei: 医生,我觉得你也是可贵的。 +//peipei: 医生,我觉得你的慈悲心也是可贵的。 +//peipei: 你说艺术家是伟大的,你也是伟大的,医生。 +me: …… ->谢谢你 - 我: 谢谢你,佩佩……谢谢你。 - 佩佩: 真希望你能一直这样…真希望我们都能一直这样。 - 佩佩: …… + me: 谢谢你,佩佩……谢谢你。 + peipei: 真希望你能一直这样…真希望我们都能一直这样。 + peipei: …… ->照顾好自己 - 我: 佩佩,照顾好自己... - 佩佩: 我会的! - 佩佩: 在水下已经太久了...马上,我就要去大口的呼吸了! - 佩佩: 医生,别担心我 + me: 佩佩,照顾好自己... + peipei: 我会的! + peipei: 在水下已经太久了...马上,我就要去大口的呼吸了! + peipei: 医生,别担心我 // ->我担不起 -// 我: 我…并不伟大。我失败了,佩佩。 -// 佩佩: 不,你尽力了,医生。换一个人来,也不会做的更好的…… -我: 啊…初始化完成了,佩佩。回复色觉的过程可能会有些痛,准备好了吗? -佩佩: 当然,来吧。 +// me: 我…并不伟大。我失败了,佩佩。 +// peipei: 不,你尽力了,医生。换一个人来,也不会做的更好的…… +me: 啊…初始化完成了,佩佩。回复色觉的过程可能会有些痛,准备好了吗? +peipei: 当然,来吧。 //->执行色觉校准 <> <> @@ -860,13 +860,13 @@ position: 85,1052 //->校准红色 //<> //<> -//佩佩: 眼睛好酸……医生!我看到了! +//peipei: 眼睛好酸……医生!我看到了! //->校准绿色 //<> //<> -//佩佩: 痛!好痛…… -//我: 怎么了,佩佩?需要我停下来吗? -//佩佩: 不,医生,不要停下……我想要看到。 +//peipei: 痛!好痛…… +//me: 怎么了,佩佩?需要我停下来吗? +//peipei: 不,医生,不要停下……我想要看到。 //->校准蓝色 //<> //<> @@ -875,24 +875,24 @@ position: 85,1052 <> <> //<> -佩佩: 啊…啊啊啊!好多…… -我: 佩佩? #auto_next -佩佩: 啊,啊!啊!! -我: 坚持住,佩佩! -佩佩: 啊…美丽的…… +peipei: 啊…啊啊啊!好多…… +me: 佩佩? #auto_next +peipei: 啊,啊!啊!! +me: 坚持住,佩佩! +peipei: 啊…美丽的…… <> -佩佩: 色彩…… +peipei: 色彩…… <> <> <> -佩佩: 这就是……有色彩的世界吗? +peipei: 这就是……有色彩的世界吗? <> <> <> -佩佩: 我已经……太久没有…… -//我: 好了,佩佩,让我们收拾一下…… -我: 好了佩佩,你需要休息一下 -我: 外面会有更多的色彩可以让你“呼吸” +peipei: 我已经……太久没有…… +//me: 好了,佩佩,让我们收拾一下…… +me: 好了佩佩,你需要休息一下 +me: 外面会有更多的色彩可以让你“呼吸” <> <> <> @@ -906,28 +906,28 @@ position: 86,1272 <> <> <> -佩佩: 医生,我总算看清你的脸了。 -佩佩: 阳光原来这么好吗?我竟然觉得有些刺眼…… -佩佩: 太好了…一切都……太好了。 -我: 好了…接下来你打算怎么办呢? -佩佩: 我不知道,医生。我想…我就想到哪去哪儿。 -我: 可是如果你不完成工作的话……就会进PIP 的。 -佩佩: 别为我担心,医生。 +peipei: 医生,我总算看清你的脸了。 +peipei: 阳光原来这么好吗?我竟然觉得有些刺眼…… +peipei: 太好了…一切都……太好了。 +me: 好了…接下来你打算怎么办呢? +peipei: 我不知道,医生。我想…我就想到哪去哪儿。 +me: 可是如果你不完成工作的话……就会进PIP 的。 +peipei: 别为我担心,医生。 ->要想办法完成工作 - 我: 或许你可以借别的有UF的同事的模块来工作? - 佩佩: 医生,你知道这是不可能的。你看到了它有多么严格。 - 佩佩: 不过,现在这些真的都不重要了。 + me: 或许你可以借别的有UF的同事的模块来工作? + peipei: 医生,你知道这是不可能的。你看到了它有多么严格。 + peipei: 不过,现在这些真的都不重要了。 ->要找个地方躲起来 - 我: 现在,你要找个地方躲起来。公司很快就会发现的。 - 佩佩: 你说的对,医生。不过…… + me: 现在,你要找个地方躲起来。公司很快就会发现的。 + peipei: 你说的对,医生。不过…… ->别想不开 - 我: 我不知道,佩佩,别想不开。还会有办法的。 - 佩佩: 哈哈,医生…你在说什么呢。 -佩佩: …现在,我想先到那个地方再去看一次。 -佩佩: 再次谢谢你…医生。我们…… -佩佩: 我们再见啦。 + me: 我不知道,佩佩,别想不开。还会有办法的。 + peipei: 哈哈,医生…你在说什么呢。 +peipei: …现在,我想先到那个地方再去看一次。 +peipei: 再次谢谢你…医生。我们…… +peipei: 我们再见啦。 <> -我: 再见……佩佩。 +me: 再见……佩佩。 //////整个过程让佩佩“痛”,这个感受还没加 //////或许不需要了?体验下现在版本。 === \ No newline at end of file diff --git a/Assets/Resources/Yarn/PeipeiTalk3/PeipeiTalk3.yarn b/Assets/Resources/Yarn/PeipeiTalk3/PeipeiTalk3.yarn index 9f885d4c8..59abbfd00 100644 --- a/Assets/Resources/Yarn/PeipeiTalk3/PeipeiTalk3.yarn +++ b/Assets/Resources/Yarn/PeipeiTalk3/PeipeiTalk3.yarn @@ -20,12 +20,12 @@ position: 55,-1208 --- <> <> -我: 我就知道没那么简单……这下可闯大祸了 -我: PIP……如果我真进去,就完蛋了。我没有见过一个人从PIP出来过…… -我: ……可我又能做什么呢?我的病人生命垂危…那难道不是紧急状况吗? -我: …… -我: 我们还剩…三个小时。我们开始吧。 -我: 坚持住,佩佩。 +me: 我就知道没那么简单……这下可闯大祸了 +me: PIP……如果我真进去,就完蛋了。我没有见过一个人从PIP出来过…… +me: ……可我又能做什么呢?我的病人生命垂危…那难道不是紧急状况吗? +me: …… +me: 我们还剩…三个小时。我们开始吧。 +me: 坚持住,佩佩。 ///进入维修界面 <> <> @@ -43,28 +43,28 @@ position: 55,-1208 <> //////我会用“屏幕”这个说话人来代表我希望右上角屏幕显示什么东西,应该不需要专门让玩家点一次 <> -我: 看来这就是要给佩佩重新装上的UF模块了…… -我: 佩佩现在还在休眠,是先把她唤醒打个招呼还是先给她装上UF模块呢? +me: 看来这就是要给佩佩重新装上的UF模块了…… +me: 佩佩现在还在休眠,是先把她唤醒打个招呼还是先给她装上UF模块呢? ->先唤醒佩佩 - 我: 还是先让佩佩恢复正常吧,在患者不知情的情况下做手术…我不想这么做。 + me: 还是先让佩佩恢复正常吧,在患者不知情的情况下做手术…我不想这么做。 <> <> (占位)佩佩身体原件的运转速度恢复正常…… (占位)但很快又回到怠速 <> <> - 我: 他们是怎么远程给她的身体发这种底层指令的? - 我: 这么说,公司岂不是可以让任何一个人休眠? - 我: …看来是不可能不装上UF就唤醒佩佩了。 + me: 他们是怎么远程给她的身体发这种底层指令的? + me: 这么说,公司岂不是可以让任何一个人休眠? + me: …看来是不可能不装上UF就唤醒佩佩了。 ->先装上UF - 我: 唤醒患者,只为了告诉她要接受一个她不想而又不得不接受的手术…… - 我: 这太残忍了……我想我很难面对。 -我: 我在做对的事情吗? -我: …… -我: 不管怎样,先把UF装上去吧。 -我: 活下去……我们都必须要活下去。 + me: 唤醒患者,只为了告诉她要接受一个她不想而又不得不接受的手术…… + me: 这太残忍了……我想我很难面对。 +me: 我在做对的事情吗? +me: …… +me: 不管怎样,先把UF装上去吧。 +me: 活下去……我们都必须要活下去。 ///安装UF -我: UF似乎是直接嵌入在左眼上的……我需要查阅下说明书。 +me: UF似乎是直接嵌入在左眼上的……我需要查阅下说明书。 ///<> ///<> ///[command name=listen_closeBook /] @@ -76,45 +76,45 @@ position: 55,-1208 <> <> (占位)将铆钉放在对应的位置上并钉上4个铆钉。钉第一个铆钉时: -我: 这个声音听起来真糟糕。 +me: 这个声音听起来真糟糕。 ->(占位)钉好剩下的3个铆钉 -我: 好像没有反应…… -我: 难道说一定要把色觉芯片装给UF吗? +me: 好像没有反应…… +me: 难道说一定要把色觉芯片装给UF吗? //////取下色觉芯片感觉是需要额外一步任务目标提示的 ->(占位)取下佩佩的色觉芯片,安装给UF <> <> <> <> -我: 好,应该可以启动了。 +me: 好,应该可以启动了。 ->(占位)安装UF外壳 <> <> <> <> -我: 佩佩,醒来吧。 +me: 佩佩,醒来吧。 <> <> ///佩佩的pulse恢复正常,UF模块亮起红灯 <> <> <> -佩佩: 好美…… -我: 佩佩? -佩佩: 医生…… -佩佩: 我……替你……夕阳…… -我: 佩佩?你能看到我吗? -佩佩: 我在…… -我: 佩佩,你#auto_next -佩佩: 好美……医生…… +peipei: 好美…… +me: 佩佩? +peipei: 医生…… +peipei: 我……替你……夕阳…… +me: 佩佩?你能看到我吗? +peipei: 我在…… +me: 佩佩,你#auto_next +peipei: 好美……医生…… //////怎么实现打断 -我: 啊……她没有被完全唤醒。当然。 -我: 她还没有被完全修好,UF模块有一个报错灯。我明白了。 -我: 公司要保证UF恢复正常才会让她的意识被完全唤醒。 -我: 哈,我就知道…这并不是结束。 -佩佩: 看……夕阳…… -我: 她还停留在那个画面上。我会恢复你的,佩佩。 -我: 让我们来看看是哪里有问题吧。 +me: 啊……她没有被完全唤醒。当然。 +me: 她还没有被完全修好,UF模块有一个报错灯。我明白了。 +me: 公司要保证UF恢复正常才会让她的意识被完全唤醒。 +me: 哈,我就知道…这并不是结束。 +peipei: 看……夕阳…… +me: 她还停留在那个画面上。我会恢复你的,佩佩。 +me: 让我们来看看是哪里有问题吧。 <> === @@ -149,16 +149,16 @@ position: 55,-1208 //////可以把特征码输入到记忆进行查询找到有问题的记忆 //////需要确认一下屏幕可以显示的字数——感觉有些是可以在手册做的,但是这样对话怎么推进? //////——对话提示找到手册对应内容,然后才推进? - 我: 跟第一次一样的报错信息……我就知道没有这么简单……问题不会凭空消失的。 - 我: …… - 我: 冷静。 - 我: 这里有一个记忆相关的特征码 ,我…先去记忆做一次检查吧。 + me: 跟第一次一样的报错信息……我就知道没有这么简单……问题不会凭空消失的。 + me: …… + me: 冷静。 + me: 这里有一个记忆相关的特征码 ,我…先去记忆做一次检查吧。 <> <> <> <> <> - 我: UF又不兼容了,先去查查记忆吧。 + me: UF又不兼容了,先去查查记忆吧。 <> <> //////插视觉的时候应该提示玩家视觉已经在运行了,所以会产生新的报错(理论上是视觉阻止了UF) @@ -171,7 +171,7 @@ position: 55,-1208 <> <> <> - 我: 视觉看起来没问题。 + me: 视觉看起来没问题。 <> ->MemoryView <> @@ -188,7 +188,7 @@ position: 55,-1208 <> <> <> - 我: 记忆模块似乎有问题,不过我需要得到特征码 才能进行检查。 + me: 记忆模块似乎有问题,不过我需要得到特征码 才能进行检查。 <> <> ->LogicView @@ -200,7 +200,7 @@ position: 55,-1208 <> <> <> - 我: 逻辑看起来没问题。 + me: 逻辑看起来没问题。 <> ->SpeakView <> @@ -211,7 +211,7 @@ position: 55,-1208 <> <> <> - 我: 语言看起来没问题。 + me: 语言看起来没问题。 <> ->EmoView <> @@ -222,10 +222,10 @@ position: 55,-1208 <> <> <> - 我: 情绪看起来没问题。 + me: 情绪看起来没问题。 <> ->ColorView - 我: 色觉芯片最后还是拆给UF了。 + me: 色觉芯片最后还是拆给UF了。 <> === @@ -235,16 +235,16 @@ position: 55,-1208 title: CurrentMemory position: 55,-1208 --- -我: 这……似乎是一个很新的记忆。它好像被录了好几遍,像是…… -我: 像是被很用力地记住了。 +me: 这……似乎是一个很新的记忆。它好像被录了好几遍,像是…… +me: 像是被很用力地记住了。 ->播放记忆 -佩佩: ····这里···树叶有些凋落了······我······ -我: 为什么播放得断断续续的…… -佩佩: ···要是能····一直····就好了····· +peipei: ····这里···树叶有些凋落了······我······ +me: 为什么播放得断断续续的…… +peipei: ···要是能····一直····就好了····· //////老问题:我如何通过看完这个记忆得出这个结论:“UF要调用的记忆正在被视觉占用”? -我: 可惜这个状态下我看不清记忆里的内容…大概是因为你还没有被完全唤醒。 -我: 等你好一点,我们再来聊聊你的记忆。 +me: 可惜这个状态下我看不清记忆里的内容…大概是因为你还没有被完全唤醒。 +me: 等你好一点,我们再来聊聊你的记忆。 //<> //<> //<> @@ -252,36 +252,36 @@ position: 55,-1208 <> <> <> -我: 还是这个问题,现在又恢复到最初的状态了。 -我: 她的视觉里的想象力在调用记忆,而这扰乱了UF的正常工作。 -我: 但如果掐断这个调用,想象力又会直接对UF造成影响。 -我: 治疗不好佩佩,我也会进PIP …但是佩佩的问题根本就是无法被解决的…… -我: 我真倒霉。佩佩…… -我: 她就像一条本应生活在大海却被关在鱼缸里的鱼……里边或者外边,都是同一条死路。 -我: …… -我: 我该怎么办? -我: …… -我: 冷静。手册里面说不定会有我错过的内容。让我再检查一遍。 +me: 还是这个问题,现在又恢复到最初的状态了。 +me: 她的视觉里的想象力在调用记忆,而这扰乱了UF的正常工作。 +me: 但如果掐断这个调用,想象力又会直接对UF造成影响。 +me: 治疗不好佩佩,我也会进PIP …但是佩佩的问题根本就是无法被解决的…… +me: 我真倒霉。佩佩…… +me: 她就像一条本应生活在大海却被关在鱼缸里的鱼……里边或者外边,都是同一条死路。 +me: …… +me: 我该怎么办? +me: …… +me: 冷静。手册里面说不定会有我错过的内容。让我再检查一遍。 ->检查手册 <> <> [command name=listen_closeBook /] [options /] ->CloseBook -我: 记忆…初始化? -我: 初始化掉所有的记忆,就像新生一样…… -我: 如果佩佩从没见过颜色……她也就没办法想象颜色了。 -我: 对她来说,世界本来就是黑白的,夕阳、绿叶……本来就是灰色的。一切本应如此。 -我: 如果这样的话,想象力也就不会调用记忆去填补色彩了,因为…… -我: 根本没有什么色彩可以用来想象了。 -我: 这确实是……可行的。真的只能如此了吗…… -//我: 我确定要这么做吗?也许还有别的办法…… +me: 记忆…初始化? +me: 初始化掉所有的记忆,就像新生一样…… +me: 如果佩佩从没见过颜色……她也就没办法想象颜色了。 +me: 对她来说,世界本来就是黑白的,夕阳、绿叶……本来就是灰色的。一切本应如此。 +me: 如果这样的话,想象力也就不会调用记忆去填补色彩了,因为…… +me: 根本没有什么色彩可以用来想象了。 +me: 这确实是……可行的。真的只能如此了吗…… +//me: 我确定要这么做吗?也许还有别的办法…… //////以某种方式,我发现还可以捐献自己的色觉 -///我: 我明白了,姐姐。如果是你的话,你确实会这么做的…… +///me: 我明白了,姐姐。如果是你的话,你确实会这么做的…… //////需要想办法提示玩家“不要担心我自己失去色觉可能带来的问题”——其实BOOOM版本对这个问题还好,也许设法给“纠结于这个问题”的玩家一个提示就可以? -///我: 好像只有这两个办法了。 -///我: 冷静,冷静,这一次必须慎重。 -///我: 为了治好佩佩,我要怎么做? +///me: 好像只有这两个办法了。 +///me: 冷静,冷静,这一次必须慎重。 +///me: 为了治好佩佩,我要怎么做? ///->捐献自己的色觉 /// <> //->执行记忆色彩初始化 @@ -297,8 +297,8 @@ position: 55,-1208 <> <> <> -我: 对不起,佩佩…… -我: 现在,该让一切结束了。 +me: 对不起,佩佩…… +me: 现在,该让一切结束了。 <> <> <> @@ -307,16 +307,16 @@ position: 55,-1208 <> <> <> -我: 对不起,佩佩... +me: 对不起,佩佩... <> <> <> //屏幕: 正在执行记忆色彩初始化……请稍候 //屏幕: 警告:只读的记忆,请进入记忆模块手动处理。 -我: 只读记忆? -我: ……我明白了。 -我: 一定是那些让佩佩对色彩留下印象深刻的记忆。像钉子一样被钉在了那里,不希望被忘记…… -我: 佩佩,该放手了。不然你就永远也无法醒来了。 +me: 只读记忆? +me: ……我明白了。 +me: 一定是那些让佩佩对色彩留下印象深刻的记忆。像钉子一样被钉在了那里,不希望被忘记…… +me: 佩佩,该放手了。不然你就永远也无法醒来了。 ->进入记忆深度 <> <> @@ -328,146 +328,146 @@ position: 55,-1208 --- ///涂改选项 <> -我: 有三个记忆…… +me: 有三个记忆…… ->播放写生记忆 <> - 我: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 - 我: 人生是旷野,不是轨道……么? + me: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 + me: 人生是旷野,不是轨道……么? ->手动进行色彩初始化 <> <> - 我: 抱歉……如果不让绿色褪去,我就无法挽救你。 + me: 抱歉……如果不让绿色褪去,我就无法挽救你。 <> ->播放夕阳记忆 <> - 我: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 + me: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 ->手动进行色彩初始化 <> <> - 我: 对不起,冬天要来了。 + me: 对不起,冬天要来了。 <> ->播放蓝天记忆 <> - 我: 你是因为生了什么病而被困在那个病房里呢? - 我: 我可能永远也不会知道了…… + me: 你是因为生了什么病而被困在那个病房里呢? + me: 我可能永远也不会知道了…… ->手动进行色彩初始化 <> <> - 我: 现在这个病房将不再困扰你了……你自由了。 + me: 现在这个病房将不再困扰你了……你自由了。 <> <> ->播放夕阳记忆 <> - 我: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 + me: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 ->手动进行色彩初始化 <> <> - 我: 对不起,冬天要来了。 + me: 对不起,冬天要来了。 <> ->播放蓝天记忆 <> - 我: 你是因为生了什么病而被困在那个病房里呢? - 我: 我可能永远也不会知道了…… + me: 你是因为生了什么病而被困在那个病房里呢? + me: 我可能永远也不会知道了…… ->手动进行色彩初始化 <> <> - 我: 现在这个病房将不再困扰你了……你自由了。 + me: 现在这个病房将不再困扰你了……你自由了。 <> <> ->播放写生记忆 <> - 我: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 - 我: 人生是旷野,不是轨道……么? + me: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 + me: 人生是旷野,不是轨道……么? ->手动进行色彩初始化 <> <> - 我: 抱歉……如果不让绿色褪去,我就无法挽救你。 + me: 抱歉……如果不让绿色褪去,我就无法挽救你。 <> ->播放蓝天记忆 <> - 我: 你是因为生了什么病而被困在那个病房里呢? - 我: 我可能永远也不会知道了…… + me: 你是因为生了什么病而被困在那个病房里呢? + me: 我可能永远也不会知道了…… ->手动进行色彩初始化 <> <> - 我: 现在这个病房将不再困扰你了……你自由了。 + me: 现在这个病房将不再困扰你了……你自由了。 <> <> ->播放写生记忆 <> - 我: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 - 我: 人生是旷野,不是轨道……么? + me: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 + me: 人生是旷野,不是轨道……么? ->手动进行色彩初始化 <> <> - 我: 抱歉……如果不让绿色褪去,我就无法挽救你。 + me: 抱歉……如果不让绿色褪去,我就无法挽救你。 <> ->播放夕阳记忆 <> - 我: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 + me: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 ->手动进行色彩初始化 <> <> - 我: 对不起,冬天要来了。 + me: 对不起,冬天要来了。 <> <> ->播放蓝天记忆 <> - 我: 你是因为生了什么病而被困在那个病房里呢? - 我: 我可能永远也不会知道了…… + me: 你是因为生了什么病而被困在那个病房里呢? + me: 我可能永远也不会知道了…… ->手动进行色彩初始化 <> <> - 我: 现在这个病房将不再困扰你了……你自由了。 + me: 现在这个病房将不再困扰你了……你自由了。 <> <> ->播放夕阳记忆 <> - 我: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 + me: 啊…粉红的火烧云,夏夜晚风虫鸣和他。 ->手动进行色彩初始化 <> <> - 我: 对不起,冬天要来了。 + me: 对不起,冬天要来了。 <> <> ->播放写生记忆 <> - 我: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 - 我: 人生是旷野,不是轨道……么? + me: 和朋友的写生,你的决心就像旷野里的绿色那样不会褪去。 + me: 人生是旷野,不是轨道……么? ->手动进行色彩初始化 <> <> - 我: 抱歉……如果不让绿色褪去,我就无法挽救你。 + me: 抱歉……如果不让绿色褪去,我就无法挽救你。 <> <> -我: 好了……都结束了。 -我: …… -//我: 不。好像还有一个……不愿意被忘掉的记忆。 -我: 不,好像还有一个。是最新的记忆…… +me: 好了……都结束了。 +me: …… +//me: 不。好像还有一个……不愿意被忘掉的记忆。 +me: 不,好像还有一个。是最新的记忆…… ->播放记忆 <> <> -佩佩: 嗨!医生。又见面啦。 -佩佩: 你会看到这段记忆吧?我知道……我从来就没有机会逃离这一切。 -佩佩: 这里和我记忆里的有些不一样了。不知道是不是因为树叶有些凋落了。 -佩佩: 可是它们明年还会长出来,然后会再凋落,再照常长出来……永远在这座山上。 +peipei: 嗨!医生。又见面啦。 +peipei: 你会看到这段记忆吧?我知道……我从来就没有机会逃离这一切。 +peipei: 这里和我记忆里的有些不一样了。不知道是不是因为树叶有些凋落了。 +peipei: 可是它们明年还会长出来,然后会再凋落,再照常长出来……永远在这座山上。 (摇树的声音,沙沙落叶) -佩佩: 我们就像这些叶子,不是吗? -佩佩: 无论如何,真的很感谢你,医生。你是这个地方最在乎我的人。 -佩佩: 太阳马上就要落下了……这里一直都这么冷吗? -佩佩: 好美啊。 -佩佩: …… -佩佩: 要是能一直坐在这儿就好了。 +peipei: 我们就像这些叶子,不是吗? +peipei: 无论如何,真的很感谢你,医生。你是这个地方最在乎我的人。 +peipei: 太阳马上就要落下了……这里一直都这么冷吗? +peipei: 好美啊。 +peipei: …… +peipei: 要是能一直坐在这儿就好了。 <> -我: …… -我: 我…… +me: …… +me: 我…… -> 手动进行色彩初始化 <> -> 不 - 我: 我做不到。 - 我: 花了这么多工夫,我们走了这么远,结果到头来……我们根本没有离开这里一步。 - 我: 难道真的就这样了吗? -我: 好好想想。好好想想…… + me: 我做不到。 + me: 花了这么多工夫,我们走了这么远,结果到头来……我们根本没有离开这里一步。 + me: 难道真的就这样了吗? +me: 好好想想。好好想想…… <> <> === @@ -476,40 +476,40 @@ position: 55,-1208 title: FinalTest position: 100,100 --- -我: 还有什么办法…可以拯救佩佩呢…… +me: 还有什么办法…可以拯救佩佩呢…… ->处理记忆模块的占用 - 我: 根本问题还是在于佩佩的记忆模块……如果能想办法处理这种占用就好了。 - 我: …… - 我: 不,这不太可能。 - 我: 想象力……到目前为止我还不知道它实际上是个什么东西。 - 我: 我根本没办法处理一个我看不见的进程的占用…… + me: 根本问题还是在于佩佩的记忆模块……如果能想办法处理这种占用就好了。 + me: …… + me: 不,这不太可能。 + me: 想象力……到目前为止我还不知道它实际上是个什么东西。 + me: 我根本没办法处理一个我看不见的进程的占用…… <> ->升级UF模块 - 我: 手册上似乎说过佩佩的问题在某个更新解决了。但实际上…… - 我: 是不是UF没有升级到最新呢? - 我: …… - 我: 无论如何,我已经把它拆开来看过了。 - 我: 里面根本没有可以让我升级它的东西……对这个铁疙瘩,我什么也做不了。 + me: 手册上似乎说过佩佩的问题在某个更新解决了。但实际上…… + me: 是不是UF没有升级到最新呢? + me: …… + me: 无论如何,我已经把它拆开来看过了。 + me: 里面根本没有可以让我升级它的东西……对这个铁疙瘩,我什么也做不了。 <> ->再找一个色觉芯片 - 我: 我也有…色觉芯片。 - 我: 如果我把我自己的色觉……取下来给她,是不是就……? - 我: 如果她能看到颜色,也就不会再向记忆发送请求了。 - 我: 可以…这是可行的! - 我: ……冷静,好好想想。 + me: 我也有…色觉芯片。 + me: 如果我把我自己的色觉……取下来给她,是不是就……? + me: 如果她能看到颜色,也就不会再向记忆发送请求了。 + me: 可以…这是可行的! + me: ……冷静,好好想想。 <> <> //占位: 一段和姐姐的记忆让你想到你或许可以把自己的色觉芯片给佩佩 // ->忘了这一切吧。 // ->我们怎么到今天这步的? // ->这是最好的办法。 -我: 我可以继续进行色彩初始化,彻底结束佩佩的色彩想象…… -我: 但佩佩也就不会再有彩色的记忆,也不会看到色彩了。 -我: 我也可以将我自己的色彩模块给她,佩佩能看到颜色,就不再需要进行记忆调用了…… -我: 但我的世界将成为黑白。 -我: 我能承受么? -我: …… -我: 到了要做决定的时候了。 +me: 我可以继续进行色彩初始化,彻底结束佩佩的色彩想象…… +me: 但佩佩也就不会再有彩色的记忆,也不会看到色彩了。 +me: 我也可以将我自己的色彩模块给她,佩佩能看到颜色,就不再需要进行记忆调用了…… +me: 但我的世界将成为黑白。 +me: 我能承受么? +me: …… +me: 到了要做决定的时候了。 ->手动进行色彩初始化 <> ->把自己的色觉芯片给佩佩 @@ -521,7 +521,7 @@ title: BadEnding position: 0,0 --- <> -我: 一切应该都结束了……都结束了。 +me: 一切应该都结束了……都结束了。 ->重新唤醒佩佩 <> <> @@ -530,23 +530,23 @@ position: 0,0 <> <> <> -佩佩: ……(她一脸迷茫地坐起,看着我,眼神空洞) -我: 你醒了。 -佩佩: 我好像……做了一个很遥远的梦。 -佩佩: 在梦里,我们的世界是有色彩的,我还记得那种淡淡的感觉,只是它太遥远了。 -我: 我们只是幸福罐头公司的两名普通员工。 -佩佩: 是啊,就像那些流水线上的罐头,随着浪潮被抛起,落下,最后在不起眼的角落里蒙上尘埃。 -佩佩: 认清形势,放弃幻想,不是么? -佩佩: 很高兴是你陪我度过这些梦境,又陪我梦醒,医生。 -我: 佩佩…… -我: 快去完成你的工作吧。一切还没有结束。 -佩佩: 嗯。医生… -佩佩: 再见了。 -我: 再见,佩佩。 +peipei: ……(她一脸迷茫地坐起,看着我,眼神空洞) +me: 你醒了。 +peipei: 我好像……做了一个很遥远的梦。 +peipei: 在梦里,我们的世界是有色彩的,我还记得那种淡淡的感觉,只是它太遥远了。 +me: 我们只是幸福罐头公司的两名普通员工。 +peipei: 是啊,就像那些流水线上的罐头,随着浪潮被抛起,落下,最后在不起眼的角落里蒙上尘埃。 +peipei: 认清形势,放弃幻想,不是么? +peipei: 很高兴是你陪我度过这些梦境,又陪我梦醒,医生。 +me: 佩佩…… +me: 快去完成你的工作吧。一切还没有结束。 +peipei: 嗯。医生… +peipei: 再见了。 +me: 再见,佩佩。 <> -我: 总算,结束了。 -我: 她再也不记得任何颜色了,她再也不记得任何颜色了…… -我: 我…我在做对的事情吗? +me: 总算,结束了。 +me: 她再也不记得任何颜色了,她再也不记得任何颜色了…… +me: 我…我在做对的事情吗? === @@ -563,32 +563,32 @@ position: 55,-1208 <> <> <> -我: …… +me: …… <> <> <> -我: 去你妈的吧! +me: 去你妈的吧! <> -我: 然后…… -我: 也就意味着……我要为自己动手术了。 +me: 然后…… +me: 也就意味着……我要为自己动手术了。 (占位)展示手术风险告知书 ->签名 -我: 呼…… -我: 来吧。 +me: 呼…… +me: 来吧。 <> <> //<> -我: 啊…… +me: 啊…… <> <> -我: 啊!啊!!啊!!! +me: 啊!啊!!啊!!! <> <> <> -我: 呼……呼…… -我: 自己给自己动手术,没办法关闭痛觉呢…… -我: 我的色觉还没有完全消失……它还残留在视觉的缓存上。 -我: 现在,该给佩佩装上我的色觉芯片了。 +me: 呼……呼…… +me: 自己给自己动手术,没办法关闭痛觉呢…… +me: 我的色觉还没有完全消失……它还残留在视觉的缓存上。 +me: 现在,该给佩佩装上我的色觉芯片了。 <> <> ->安装色觉芯片 @@ -596,8 +596,8 @@ position: 55,-1208 <> <> 屏幕: 已识别到色觉芯片,正在等待校准 -我: 还有最后一件事情……色觉校准。 -我: 去视觉模块校准对应的颜色吧。时间不多了……色觉正在减弱。 +me: 还有最后一件事情……色觉校准。 +me: 去视觉模块校准对应的颜色吧。时间不多了……色觉正在减弱。 //////色觉校准应该需要同时看到记忆和视觉?我按照这个思路写了。 <> <> @@ -614,59 +614,59 @@ position: 55,-1208 ///上色选项 //////DAY2应该是直接拿到三个记忆,不需要检索 //////<> -我: 我需要让机器检索到关于颜色的记忆……我需要让佩佩的记忆转动起来。 -我: 我需要你。佩佩,醒醒! -佩佩: 医生…… +me: 我需要让机器检索到关于颜色的记忆……我需要让佩佩的记忆转动起来。 +me: 我需要你。佩佩,醒醒! +peipei: 医生…… //->以某种方式尝试呼唤佩佩,此处略 //佩佩说坚持住好像有点怪,是笔误么,我先注释了 -// 佩佩: 坚持住……医生……我要…… -// 佩佩: 坚持住。 -我: 佩佩!你能听到我说话么... -佩佩: ...... -我: 不行,她还是太虚弱了,但是现在我真的需要她 -我: 我想想,有什么能帮助唤醒她呢? +// peipei: 坚持住……医生……我要…… +// peipei: 坚持住。 +me: 佩佩!你能听到我说话么... +peipei: ...... +me: 不行,她还是太虚弱了,但是现在我真的需要她 +me: 我想想,有什么能帮助唤醒她呢? //////感觉这里玩家自己想到会更有趣,可以做个选项 -我: 对了!让我们来聊聊关于颜色的回忆…… +me: 对了!让我们来聊聊关于颜色的回忆…… //////帮我加下逻辑:玩家应该要可以按自由顺序问,问完全部3个继续 ->谈论关于红色 -我: 红色……你还记得你看到的夕阳吗?有人和你说他想一直坐在那儿…… -佩佩: 夕阳……我该让你多说些话的…… -佩佩: 我好想……医生…… +me: 红色……你还记得你看到的夕阳吗?有人和你说他想一直坐在那儿…… +peipei: 夕阳……我该让你多说些话的…… +peipei: 我好想……医生…… //////<> //////记忆里的对白需要以不同于台词的形式弹出 -我: 好的……红色,我来了。 +me: 好的……红色,我来了。 //////需要夕阳真的是红色?和美术确认——我感觉是OK的?可能是看起来很特别的夕阳 ->渲染红色通道 <> <> -我: 呃啊,我的眼睛…… +me: 呃啊,我的眼睛…… <> <> -我: 感觉我视野里的饱和度正在降低…… -我: 这就是色觉再消失吗?这感觉太奇怪了。 -我: 我得抓紧时间了,接下来是…… +me: 感觉我视野里的饱和度正在降低…… +me: 这就是色觉再消失吗?这感觉太奇怪了。 +me: 我得抓紧时间了,接下来是…… ->谈论关于绿色 -我: 绿色……记得你那次写生吗?佩佩,你说你想要一辈子都画画。 -佩佩: 我记得,医生……好凉爽的风…… +me: 绿色……记得你那次写生吗?佩佩,你说你想要一辈子都画画。 +peipei: 我记得,医生……好凉爽的风…… //////<> -我: 像海一样的草原,多美啊。草原上的风是什么气味的呢? -我: 等着一切都结束了…等我们休假了,我也要去那里看看。 +me: 像海一样的草原,多美啊。草原上的风是什么气味的呢? +me: 等着一切都结束了…等我们休假了,我也要去那里看看。 ->渲染绿色通道 <> <> -我: 又是这种感觉。其实…还挺柔和的。 -我: 呼…大概这下就不用开什么护眼模式了。 +me: 又是这种感觉。其实…还挺柔和的。 +me: 呼…大概这下就不用开什么护眼模式了。 <> <> ->谈论关于蓝色 -我: 佩佩,想想你小时候的那个病房。你一定看了很久的云吧?你不可能忘了那扇窗户的。 -佩佩: 医生……我会听话的,别让我…… +me: 佩佩,想想你小时候的那个病房。你一定看了很久的云吧?你不可能忘了那扇窗户的。 +peipei: 医生……我会听话的,别让我…… //////<> -我: 就快结束了,佩佩。 +me: 就快结束了,佩佩。 ->渲染蓝色通道 <> <> -我: 来吧,都来吧!我们就要成功了…… +me: 来吧,都来吧!我们就要成功了…… <> <> <> @@ -675,69 +675,69 @@ position: 55,-1208 <> <> <> -我: 这是完成了吗?我已经……完全看不到颜色了。 -我: ……话说…… +me: 这是完成了吗?我已经……完全看不到颜色了。 +me: ……话说…… ->尝试想象颜色 -我: …… -我: 很好,这才是我熟悉的健康状态,看来我没有什么怪病。哈哈…… -我: 我想我会怀念它的。但是…对不起,我想要治好我的病人。 +me: …… +me: 很好,这才是我熟悉的健康状态,看来我没有什么怪病。哈哈…… +me: 我想我会怀念它的。但是…对不起,我想要治好我的病人。 //////总感觉应该要提供机会给玩家->尝试想象颜色23333 <> <>哈哈…… 屏幕: 重新启动中 -佩佩: 我这是在哪?医生……医生? +peipei: 我这是在哪?医生……医生? <> <> -我: 别动,我要先把你的背板装好。 +me: 别动,我要先把你的背板装好。 <> <> <> <> <> <> -佩佩: 医生…对不起,我又回来了。我拖累了你…… -佩佩: 我应该想到的,他们不会这样轻易地解脱我…… -我: 佩佩,睁开眼睛,仔细看看吧。 -佩佩: 医生……你眼睛流出来的蓝色的是……冷却液吗? -我: 啊…… -佩佩: 咦…蓝色?为什么……? -佩佩: 难道我的色觉…他们没有…… -我: 不,是我找到办法了。既保住了你的色觉,又恢复了你的UF模块。 -我: 佩佩,结束了,你恢复健康了。 -佩佩: 我…我还以为我肯定要死了。 -我: 是一个有点难找的bug,你知道的,公司那帮人的维护日志太乱了,遗漏了这个bug。 -我: 已经没问题了! -佩佩: 我以为…… -我: 不,已经没事了…已经没事了,佩佩。 -佩佩: 医生…你还好吗? -我: 先别担心我了。你的工作还没有完成,这一切还没有结束。 -佩佩: 你说的对…医生。我还有一点点时间…… -我: 所以,快去吧!完成你的工作,不要让我的…白费。 -佩佩: 我会的,医生……这一次,我不会让你失望的。 +peipei: 医生…对不起,我又回来了。我拖累了你…… +peipei: 我应该想到的,他们不会这样轻易地解脱我…… +me: 佩佩,睁开眼睛,仔细看看吧。 +peipei: 医生……你眼睛流出来的蓝色的是……冷却液吗? +me: 啊…… +peipei: 咦…蓝色?为什么……? +peipei: 难道我的色觉…他们没有…… +me: 不,是我找到办法了。既保住了你的色觉,又恢复了你的UF模块。 +me: 佩佩,结束了,你恢复健康了。 +peipei: 我…我还以为我肯定要死了。 +me: 是一个有点难找的bug,你知道的,公司那帮人的维护日志太乱了,遗漏了这个bug。 +me: 已经没问题了! +peipei: 我以为…… +me: 不,已经没事了…已经没事了,佩佩。 +peipei: 医生…你还好吗? +me: 先别担心我了。你的工作还没有完成,这一切还没有结束。 +peipei: 你说的对…医生。我还有一点点时间…… +me: 所以,快去吧!完成你的工作,不要让我的…白费。 +peipei: 我会的,医生……这一次,我不会让你失望的。 <> -我: 总算,结束了。 -我: 我看不到颜色了,我看不到颜色了。 -我: 我…我在做对的事情吗? +me: 总算,结束了。 +me: 我看不到颜色了,我看不到颜色了。 +me: 我…我在做对的事情吗? <> 感谢您游玩《艾比斯之梦》的demo-佩佩切片,流程到此终止 本demo为早期验证版本,其中文本,交互,画面均为过程版 您的反馈和建议对我们至关重要 如果您不知道在何处反馈,欢迎微信联系:15209116298 QQ:781230111 谢谢!(退出游戏Alt F4) -// 佩佩: 医生?!难道你…… -// 佩佩: 不…不不不……我不…… +// peipei: 医生?!难道你…… +// peipei: 不…不不不……我不…… // ->你看到色彩,我治好我的病人,比什么都重要。 -// 佩佩: 医生……医生……我何德何能让你做到这个份上。 -// 佩佩: 领导也好,同事也罢,大家都是罐头公司里的螺丝钉,包括我。 -// 佩佩: 可是你,只有你,从来不把我看作一颗螺丝钉…… -// 佩佩: 谢谢你,谢谢你,让我知道原来世上还有你这样的人。 -// 佩佩: 不要忘了看我的画作哦,医生,那也是我从你眼中看到的美丽世界。 +// peipei: 医生……医生……我何德何能让你做到这个份上。 +// peipei: 领导也好,同事也罢,大家都是罐头公司里的螺丝钉,包括我。 +// peipei: 可是你,只有你,从来不把我看作一颗螺丝钉…… +// peipei: 谢谢你,谢谢你,让我知道原来世上还有你这样的人。 +// peipei: 不要忘了看我的画作哦,医生,那也是我从你眼中看到的美丽世界。 // ->如果治不好你,我就要被公司回收了。 -// 佩佩: 医生……怎么会……我原本不想这样的…… -// 佩佩: 真的非常抱歉,我的鲁莽让你不得不做出牺牲。 -// 佩佩: 你的眼睛……天哪,你要看到和我一样的世界了……医生,好难过 -// 佩佩: 谢谢你把你珍贵的东西借给了我,我不会让你失望的。 -// 佩佩: 不要忘了看我的画作哦,医生,那也是我从你眼中看到的美丽世界。 +// peipei: 医生……怎么会……我原本不想这样的…… +// peipei: 真的非常抱歉,我的鲁莽让你不得不做出牺牲。 +// peipei: 你的眼睛……天哪,你要看到和我一样的世界了……医生,好难过 +// peipei: 谢谢你把你珍贵的东西借给了我,我不会让你失望的。 +// peipei: 不要忘了看我的画作哦,医生,那也是我从你眼中看到的美丽世界。 //////理论上我需要提示佩佩需要完成工作,这里先不写了 === diff --git a/Assets/Scenes/ClinicScene.unity b/Assets/Scenes/ClinicScene.unity index 902328922..13514f2f8 100644 --- a/Assets/Scenes/ClinicScene.unity +++ b/Assets/Scenes/ClinicScene.unity @@ -219,6 +219,10 @@ PrefabInstance: propertyPath: m_Name value: "\u4E3B\u573A\u666F\u4E2D\u95F4\u7248\u5BFC\u51FA20240904" objectReference: {fileID: 0} + - target: {fileID: -8653719598885068355, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: -7552582706839291426, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} propertyPath: m_LocalScale.x value: 0.3 @@ -271,10 +275,18 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: -6333501094799134939, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: -351895798359867480, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} propertyPath: m_Name value: Back objectReference: {fileID: 0} + - target: {fileID: -351895798359867480, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 977570898292676981, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} propertyPath: m_Name value: Front @@ -285,19 +297,27 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1755460041368365272, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7244954253389612693, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} + propertyPath: m_Size.x + value: 20.323174 + objectReference: {fileID: 0} + - target: {fileID: 7244954253389612693, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} + propertyPath: m_Size.y + value: 28.179998 objectReference: {fileID: 0} - target: {fileID: 7244954253389612693, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} propertyPath: m_Sprite value: - objectReference: {fileID: 0} + objectReference: {fileID: 21300000, guid: 7c628e32668107e489c7e3cea395a4b0, type: 3} - target: {fileID: 7244954253389612693, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} propertyPath: m_Color.a - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7244954253389612693, guid: 5ab8b77db5196c64d992eb06b9e92934, type: 3} propertyPath: m_WasSpriteAssigned - value: 0 + value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] @@ -511,7 +531,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!212 &1929571532 SpriteRenderer: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Persistence.unity b/Assets/Scenes/Persistence.unity index 1423f9b3b..d82b40fb2 100644 --- a/Assets/Scenes/Persistence.unity +++ b/Assets/Scenes/Persistence.unity @@ -123,6 +123,11 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!224 &62394964 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + m_PrefabInstance: {fileID: 1886390393148784126} + m_PrefabAsset: {fileID: 0} --- !u!1 &72512885 GameObject: m_ObjectHideFlags: 0 @@ -172,6 +177,108 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: quickRunMode: 0 +--- !u!1001 &152335402 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1990871919} + m_Modifications: + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_SizeDelta.x + value: 462.0198 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_SizeDelta.y + value: 318.3407 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_AnchoredPosition.x + value: 679 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_AnchoredPosition.y + value: -771 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8518890624210964847, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + propertyPath: m_Name + value: Player Bubble + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} +--- !u!224 &152335403 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2114528386511579871, guid: c6c82e5d3b6ca4c4f902f55c8c0f4a6a, type: 3} + m_PrefabInstance: {fileID: 152335402} + m_PrefabAsset: {fileID: 0} --- !u!1 &237392154 GameObject: m_ObjectHideFlags: 0 @@ -232,8 +339,8 @@ MonoBehaviour: m_Calls: [] m_text: "\u5F00\u59CB\u6E38\u620F" m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_sharedMaterial: {fileID: -4877161827586246797, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -904,140 +1011,6 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &654208073 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 654208074} - - component: {fileID: 654208076} - - component: {fileID: 654208075} - m_Layer: 5 - m_Name: Actor Name - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &654208074 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 654208073} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1624136270} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 161, y: -74} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &654208075 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 654208073} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "\u4EBA\u7269\u540D\u79F0" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_sharedMaterial: {fileID: -4877161827586246797, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 50 - m_fontSizeBase: 50 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &654208076 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 654208073} - m_CullTransparentMesh: 1 --- !u!1 &667130561 GameObject: m_ObjectHideFlags: 0 @@ -1084,216 +1057,6 @@ MonoBehaviour: m_EditorClassIdentifier: showDebug: 0 debugTextView: {fileID: 0} ---- !u!1 &711589653 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 711589654} - - component: {fileID: 711589656} - - component: {fileID: 711589655} - - component: {fileID: 711589657} - - component: {fileID: 711589658} - m_Layer: 5 - m_Name: Dialog Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &711589654 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 711589653} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1624136270} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 874, y: -195.48} - m_SizeDelta: {x: 1298.6099, y: 146.2788} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &711589655 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 711589653} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_sharedMaterial: {fileID: -4877161827586246797, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 46 - m_fontSizeBase: 46 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &711589656 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 711589653} - m_CullTransparentMesh: 1 ---- !u!114 &711589657 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 711589653} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e8ace8ced0e81c847968cdca0aeda757, type: 3} - m_Name: - m_EditorClassIdentifier: - typewriterStartsAutomatically: 1 - animationLoop: 0 - timeScale: 0 - _text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC\u652F\u6301\u5BCC\u6587\u672C" - useDynamicScaling: 1 - referenceFontSize: 10 - isResettingTimeOnNewText: 1 - useDefaultDatabases: 1 - databaseBehaviors: {fileID: 11400000, guid: ab7e07cba198f4345b19d351e6a3034f, type: 2} - databaseAppearances: {fileID: 11400000, guid: 71ecf6147756deb4ca20570628f94f96, type: 2} - useDefaultStyleSheet: 1 - styleSheet: {fileID: 0} - databaseActions: {fileID: 11400000, guid: de78232a60d74f6459e57e5606304209, type: 2} - defaultAppearancesTags: - - 'fade ' - defaultDisappearancesTags: - - fade - defaultBehaviorsTags: [] - defaultTagsMode: 0 ---- !u!114 &711589658 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 711589653} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 57a6945b90dcd0c4b81619c0d8b5c283, type: 3} - m_Name: - m_EditorClassIdentifier: - useTypeWriter: 1 - startTypewriterMode: 2 - hideAppearancesOnSkip: 1 - hideDisappearancesOnSkip: 0 - triggerEventsOnSkip: 0 - resetTypingSpeedAtStartup: 1 - disappearanceOrientation: 0 - onTextShowed: - m_PersistentCalls: - m_Calls: [] - onTypewriterStart: - m_PersistentCalls: - m_Calls: [] - onTextDisappeared: - m_PersistentCalls: - m_Calls: [] - onCharacterVisible: - m_PersistentCalls: - m_Calls: [] - onMessage: - m_PersistentCalls: - m_Calls: [] - waitForNormalChars: 0.05 - waitLong: 0.6 - waitMiddle: 0.2 - avoidMultiplePunctuactionWait: 0 - waitForNewLines: 1 - waitForLastCharacter: 1 - useTypewriterWaitForDisappearances: 1 - disappearanceWaitTime: 0.015 - disappearanceSpeedMultiplier: 1 --- !u!1 &719228336 GameObject: m_ObjectHideFlags: 0 @@ -1336,10 +1099,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 18a3ec3914131d44199ae33902edf159, type: 3} m_Name: m_EditorClassIdentifier: - runMode: 0 + runMode: 1 firstTalkSO: {fileID: 11400000, guid: 10601ce26230723479d875a630f15732, type: 2} clinicScene: ClinicScene - testYarnProject: Book + testYarnProject: OptionTest --- !u!4 &719228339 Transform: m_ObjectHideFlags: 0 @@ -2744,108 +2507,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1210536472} m_CullTransparentMesh: 1 ---- !u!1 &1281848949 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1281848950} - - component: {fileID: 1281848951} - - component: {fileID: 1281848953} - - component: {fileID: 1281848952} - m_Layer: 5 - m_Name: Choice Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1281848950 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1281848949} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1624136270} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -20.544289} - m_SizeDelta: {x: 1271, y: 219.324} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1281848951 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1281848949} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 3 - m_Spacing: 1 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 1 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &1281848952 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1281848949} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1281848953 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1281848949} - m_CullTransparentMesh: 1 --- !u!1 &1299926724 GameObject: m_ObjectHideFlags: 0 @@ -2980,6 +2641,112 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1299926724} m_CullTransparentMesh: 1 +--- !u!1001 &1302630843 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1604842429} + m_Modifications: + - target: {fileID: 6059188073131988442, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_Name + value: Dialog Box + objectReference: {fileID: 0} + - target: {fileID: 6059188073131988442, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_SizeDelta.x + value: 1200 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_SizeDelta.y + value: 300 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchoredPosition.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e2211373480d40243a377721316dd8f7, type: 3} +--- !u!224 &1302630844 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + m_PrefabInstance: {fileID: 1302630843} + m_PrefabAsset: {fileID: 0} --- !u!1 &1343879456 GameObject: m_ObjectHideFlags: 0 @@ -3064,140 +2831,6 @@ MonoBehaviour: blackoutPanel: {fileID: 783911289} redFlashPanel: {fileID: 1613208939} saturation: {fileID: 1825866676} ---- !u!1 &1557925019 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1557925020} - - component: {fileID: 1557925022} - - component: {fileID: 1557925021} - m_Layer: 5 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1557925020 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1557925019} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2056178949} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1557925021 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1557925019} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_text: "\u4E0B\u4E00\u6B65" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_sharedMaterial: {fileID: -4877161827586246797, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1557925022 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1557925019} - m_CullTransparentMesh: 1 --- !u!1 &1584263513 GameObject: m_ObjectHideFlags: 0 @@ -3302,8 +2935,8 @@ MonoBehaviour: m_Calls: [] m_text: "\u7EE7\u7EED\u6E38\u620F" m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_sharedMaterial: {fileID: -4877161827586246797, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -3516,7 +3149,9 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1624136270} + - {fileID: 1794129319} + - {fileID: 1990871919} + - {fileID: 1302630844} m_Father: {fileID: 1343879457} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -3533,7 +3168,7 @@ MonoBehaviour: m_GameObject: {fileID: 1604842425} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6689e1db404e4a340bec4e540aea09d5, type: 3} + m_Script: {fileID: 11500000, guid: c14c52217dac70244b02fe48d9462bae, type: 3} m_Name: m_EditorClassIdentifier: --- !u!1 &1611684199 @@ -3596,8 +3231,8 @@ MonoBehaviour: m_Calls: [] m_text: "\u9000\u51FA" m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} - m_sharedMaterial: {fileID: -4877161827586246797, guid: 4cfecb1365a6162428292ebdfcaa2e47, type: 2} + m_fontAsset: {fileID: 11400000, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} + m_sharedMaterial: {fileID: -6659093157667844055, guid: f242fb3dde1933640859f1c54591c9c8, type: 2} m_fontSharedMaterials: [] m_fontMaterial: {fileID: 0} m_fontMaterials: [] @@ -3790,86 +3425,6 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1624136269 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1624136270} - - component: {fileID: 1624136272} - - component: {fileID: 1624136271} - m_Layer: 5 - m_Name: Dialog Box - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1624136270 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1624136269} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 654208074} - - {fileID: 711589654} - - {fileID: 2056178949} - - {fileID: 1281848950} - - {fileID: 1794129319} - m_Father: {fileID: 1604842429} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0.36200002} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1624136271 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1624136269} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: -1015409289, guid: 46f48b95b4293a340b7b2b81f99fdd7f, type: 3} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1624136272 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1624136269} - m_CullTransparentMesh: 1 --- !u!1 &1654679520 GameObject: m_ObjectHideFlags: 0 @@ -4225,7 +3780,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &1794129319 RectTransform: m_ObjectHideFlags: 0 @@ -4233,16 +3788,16 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1794129318} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1624136270} + m_Father: {fileID: 1604842429} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 1779, y: -11} + m_AnchoredPosition: {x: 1806, y: -81} m_SizeDelta: {x: 64, y: 64} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1794129320 @@ -4327,6 +3882,11 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1794129318} m_CullTransparentMesh: 1 +--- !u!224 &1797173830 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + m_PrefabInstance: {fileID: 7847025846205992388} + m_PrefabAsset: {fileID: 0} --- !u!1 &1825866674 GameObject: m_ObjectHideFlags: 0 @@ -4449,6 +4009,57 @@ MonoBehaviour: onCommand: m_PersistentCalls: m_Calls: [] +--- !u!1 &1990871918 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1990871919} + - component: {fileID: 1990871920} + m_Layer: 5 + m_Name: Dialog Bubble View + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1990871919 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1990871918} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1797173830} + - {fileID: 62394964} + - {fileID: 152335403} + m_Father: {fileID: 1604842429} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1990871920 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1990871918} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 98b5d94e03211a94bba6de692a1d405a, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &2038437601 GameObject: m_ObjectHideFlags: 0 @@ -4524,96 +4135,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2038437601} m_CullTransparentMesh: 1 ---- !u!1 &2056178948 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2056178949} - - component: {fileID: 2056178951} - - component: {fileID: 2056178950} - m_Layer: 5 - m_Name: Next Button - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &2056178949 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2056178948} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1557925020} - m_Father: {fileID: 1624136270} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 1619, y: -285} - m_SizeDelta: {x: 167.4873, y: 55.4567} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2056178950 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2056178948} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 0} - m_OnClick: - m_PersistentCalls: - m_Calls: [] ---- !u!222 &2056178951 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2056178948} - m_CullTransparentMesh: 1 --- !u!1 &2066471071 stripped GameObject: m_CorrespondingSourceObject: {fileID: 180032, guid: fe9bfb5044c0cc646baba1ad7d354100, type: 3} @@ -4632,12 +4153,208 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: Mode: 0 - PageFlipTime: 1 TimeBetweenPages: 1 DelayBeforeStarting: 0 AutoStartFlip: 1 ControledBook: {fileID: 996104069} - AnimationFramesCount: 40 +--- !u!1001 &1886390393148784126 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1990871919} + m_Modifications: + - target: {fileID: 6059188073131988442, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_Name + value: Normal Box + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_SizeDelta.x + value: 1200 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_SizeDelta.y + value: 300 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_AnchoredPosition.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7131956091114956203, guid: e2211373480d40243a377721316dd8f7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e2211373480d40243a377721316dd8f7, type: 3} +--- !u!1001 &7847025846205992388 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1990871919} + m_Modifications: + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_SizeDelta.x + value: 462.0198 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_SizeDelta.y + value: 318.3407 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_AnchoredPosition.x + value: 929 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_AnchoredPosition.y + value: -297 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2114528386511579871, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8518890624210964847, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_Name + value: Actor Bubble + objectReference: {fileID: 0} + - target: {fileID: 8518890624210964847, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4d6fa45bd310bc946b5628e62986e494, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Config.meta b/Assets/Scripts/Config.meta new file mode 100644 index 000000000..8318ac7df --- /dev/null +++ b/Assets/Scripts/Config.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aaccc268908358449a45c394f36fd2d8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Config/Character.cs b/Assets/Scripts/Config/Character.cs new file mode 100644 index 000000000..731f88d8a --- /dev/null +++ b/Assets/Scripts/Config/Character.cs @@ -0,0 +1,45 @@ +namespace AibisDream.Config +{ + public class Character + { + public string Key { get; set; } + public string Cn { get; set; } + public string NameColor { get; set; } + public string HeadPicPath { get; set; } + public string VoicePath { get; set; } + public ActorRole Role { get; set; } + + ///

+ /// 避免干扰,复制结构体出来使用 + /// + /// + public CharacterVo GetStructVo() + { + CharacterVo vo; + vo.key = Key; + vo.cn = Cn; + vo.nameColor = NameColor; + vo.headPicPath = HeadPicPath; + vo.voicePath = VoicePath; + vo.role = Role; + return vo; + } + } + + public struct CharacterVo + { + public string key; + public string cn; + public string nameColor; + public string headPicPath; + public string voicePath; + public ActorRole role; + } + + public enum ActorRole + { + Aside, + Player, + MainActor + } +} \ No newline at end of file diff --git a/Assets/Scripts/Config/Character.cs.meta b/Assets/Scripts/Config/Character.cs.meta new file mode 100644 index 000000000..f25bc860e --- /dev/null +++ b/Assets/Scripts/Config/Character.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ed401d6b60a1c51448b66d538c946090 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Config/ConfigUtil.cs b/Assets/Scripts/Config/ConfigUtil.cs new file mode 100644 index 000000000..5cc0e1b93 --- /dev/null +++ b/Assets/Scripts/Config/ConfigUtil.cs @@ -0,0 +1,71 @@ +using System.Collections.Generic; +using System.Linq; +using AibisDream.Utility; +using UnityEngine; + +namespace AibisDream.Config +{ + public class ConfigUtil : SingletonBase + { + private const string CharacterConfigPath = "/Config/character.csv"; + private const string BaseConfigPath = "/Config/base_config.csv"; + + private Dictionary _baseConfigDic; + private Dictionary _characters; + + /// + /// 用于单例模式 + /// + private ConfigUtil() {} + + public void InitConfig() + { + InitBaseConfig(); + InitCharacterConfig(); + } + + private void InitBaseConfig() + { + var baseList = CsvUtil.Read(Application.streamingAssetsPath + BaseConfigPath); + if (baseList.Count <= 0) + { + Debug.Log("基础配置不存在"); + } + + // 基础配置只有key和value + _baseConfigDic = new Dictionary(); + foreach (var arr in baseList) + { + _baseConfigDic.Add(arr[0], arr[1]); + } + } + + private void InitCharacterConfig() + { + var characterList = CsvUtil.ReadAsBean(Application.streamingAssetsPath + CharacterConfigPath); + _characters = characterList.ToDictionary(item => item.Key, item => item); + } + + /// + /// 按key获取角色预设 + /// + /// key + /// 角色配置 + /// 是否能获取 + public bool TryGetCharacter(string key, out Character character) + { + return _characters.TryGetValue(key, out character); + } + + /// + /// 按key获取基础配置 + /// + /// key + /// 配置项 + /// 是否能获取 + public bool TryGetBaseConfig(string key, out string value) + { + return _baseConfigDic.TryGetValue(key, out value); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Config/ConfigUtil.cs.meta b/Assets/Scripts/Config/ConfigUtil.cs.meta new file mode 100644 index 000000000..01ba27cf0 --- /dev/null +++ b/Assets/Scripts/Config/ConfigUtil.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fb555b831ee0c8f4aa4a5a2e1c8d4f39 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Dialog System/CommandOptionView.cs b/Assets/Scripts/Dialog System/CommandOptionView.cs index a2ecb0814..01d8d8bae 100644 --- a/Assets/Scripts/Dialog System/CommandOptionView.cs +++ b/Assets/Scripts/Dialog System/CommandOptionView.cs @@ -1,4 +1,5 @@ using System; +using AibisDream.Utility; using Yarn.Unity; namespace AibisDream @@ -6,24 +7,24 @@ namespace AibisDream public class CommandOptionView : DialogueViewBase { // 进入指令选项模式 - private bool isInCommand; - private string commandName; + private bool _isInCommand; + private string _commandName; public override void RunLine(LocalizedLine dialogueLine, Action onDialogueLineFinished) { // 判断选项选项行 if (dialogueLine.Text.IsOptionAttrLine()) { - isInCommand = true; + _isInCommand = true; base.RunLine(dialogueLine, onDialogueLineFinished); return; } // 判断是否进入Command状态 - isInCommand = dialogueLine.Text.TryGetCommandAttr(out var curCommandName); - if (isInCommand) + _isInCommand = dialogueLine.Text.TryGetCommandAttr(out var curCommandName); + if (_isInCommand) { // 保存指令 - commandName = curCommandName; + _commandName = curCommandName; // 进入下一步 onDialogueLineFinished.Invoke(); } @@ -36,7 +37,7 @@ namespace AibisDream public override void RunOptions(DialogueOption[] dialogueOptions, Action onOptionSelected) { // 非指令直接跳过 - if (!isInCommand) + if (!_isInCommand) { base.RunOptions(dialogueOptions, onOptionSelected); return; @@ -45,7 +46,7 @@ namespace AibisDream DialogController.Instance.IsTalking = false; // 传输选项 YarnOption[] options = YarnOption.GeneOptions(dialogueOptions, onOptionSelected); - DialogController.Instance.InvokeOptionCommand(commandName, options); + DialogController.Instance.InvokeOptionCommand(_commandName, options); } public override void InterruptLine(LocalizedLine dialogueLine, Action onDialogueLineFinished) diff --git a/Assets/Scripts/Dialog System/DialogController.cs b/Assets/Scripts/Dialog System/DialogController.cs index 0f22706a9..43ef5e4bf 100644 --- a/Assets/Scripts/Dialog System/DialogController.cs +++ b/Assets/Scripts/Dialog System/DialogController.cs @@ -1,6 +1,7 @@ using System; using System.Collections; using System.Collections.Generic; +using AibisDream.Utility; using UnityEngine; using UnityEngine.Events; using Yarn.Unity; @@ -11,12 +12,13 @@ namespace AibisDream public class DialogController : Singleton { private const string BookManager = "BookManager"; - - private DialogueRunner dialogueRunner; + private DialogueRunner dialogueRunner; private VariableStorageBehaviour _variableStorage; - private Dictionary> commandMap = new(); + private readonly Dictionary> commandMap = new(); + + # region controller状态标识 private bool _isTalking; @@ -39,13 +41,15 @@ namespace AibisDream } // 对话框被阻塞时不能继续对话框交互 - public bool IsBlock { get; set; } + public bool IsBlock { get; private set; } + + public bool quickRunMode; + + # endregion public static UnityAction OnDialogueStart; public static UnityAction OnDialogueComplete; - public bool quickRunMode; - private void Start() { dialogueRunner = GetComponentInChildren(); @@ -63,6 +67,7 @@ namespace AibisDream // 对话结束时切下一个SO dialogueRunner.onDialogueComplete.AddListener(() => { + DialogCanvasManager.Instance.SwitchDialogView(DialogViewType.Bubble); StartCoroutine(GameLoopManager.Instance.NextSceneSo()); }); } @@ -97,6 +102,7 @@ namespace AibisDream /// Yarn组 public void StartDialog(YarnProject yarnProject) { + dialogueRunner.VariableStorage.Clear(); dialogueRunner.SetProject(yarnProject); dialogueRunner.StartDialogue("Start"); } @@ -135,7 +141,7 @@ namespace AibisDream { Debug.Log($"命令 {commandName} 已经存在,将被替换"); } - + commandMap[commandName] = commandAction; } @@ -210,11 +216,12 @@ namespace AibisDream { HideDialog(); //yield return MainUIController.Instance.FadeInSync(duration); - Camera.main.orthographicSize=5; - Camera.main.transform.position=new Vector3(0,0,-10); + Camera.main.orthographicSize = 5; + Camera.main.transform.position = new Vector3(0, 0, -10); yield return SceneLoader.Instance.LoadSceneAsync(sceneName); - //yield return new WaitForSeconds(1f); - //yield return MainUIController.Instance.FadeOutSync(duration); + DialogCanvasManager.Instance.SwitchDialogView(sceneName == "ClinicScene" + ? DialogViewType.Bubble + : DialogViewType.OldBox); } [YarnCommand("unload_scene")] @@ -226,7 +233,7 @@ namespace AibisDream [YarnCommand("hide_dialog")] public static void HideDialog() { - DialogUiViewer.Instance.HideDialog(); + DialogCanvasManager.GetCurView().HideDialog(); } [YarnCommand("fade_in")] @@ -246,24 +253,25 @@ namespace AibisDream { return MainUIController.Instance.ShowObj(picName); } - + [YarnCommand("hide_obj")] public static IEnumerator HideObj() { return MainUIController.Instance.HideObj(); } + [YarnCommand("move_to_fix")] - public static IEnumerator Move_to_fix() + public static IEnumerator MoveToFix() { bool isCompleted = false; Sequence s = DOTween.Sequence(); s.Append(Camera.main.transform.DOMove(new UnityEngine.Vector3(6.8f, 0, -10), 2f)) - .OnComplete(() => - { - // 动画完成后的反馈操作 - Debug.Log("Move_to_fix sequence completed."); - isCompleted = true; - }); + .OnComplete(() => + { + // 动画完成后的反馈操作 + Debug.Log("Move_to_fix sequence completed."); + isCompleted = true; + }); // 等待动画完成 yield return new WaitUntil(() => isCompleted); @@ -271,15 +279,22 @@ namespace AibisDream // 动画完成后的其他操作 Debug.Log("Continuing after Move_to_fix sequence."); } + [YarnCommand("move_out_fix")] - public static void Move_out_fix() + public static void MoveOutFix() { - Camera.main.transform.position=new UnityEngine.Vector3(6.8f, 0, -10); + Camera.main.transform.position = new UnityEngine.Vector3(6.8f, 0, -10); Sequence s = DOTween.Sequence(); //s.AppendInterval(0.5f); s.Append(Camera.main.transform.DOMove(new UnityEngine.Vector3(0, 0, -10), 2f)); } - + + [YarnCommand("switch_dialog_view")] + public static void SwitchDialogView(string viewName) + { + DialogCanvasManager.Instance.SwitchDialogView(Enum.Parse(viewName)); + } + #endregion } } \ No newline at end of file diff --git a/Assets/Scripts/Dialog System/LineView.cs b/Assets/Scripts/Dialog System/LineView.cs index abdc5948f..352170fa5 100644 --- a/Assets/Scripts/Dialog System/LineView.cs +++ b/Assets/Scripts/Dialog System/LineView.cs @@ -1,13 +1,11 @@ using System; -using System.Linq; +using AibisDream.Utility; using Yarn.Unity; namespace AibisDream { public class LineView : DialogueViewBase { - private const string AutoNext = "auto_next"; - // 进入指令选项模式 private bool _isInCommand; @@ -17,11 +15,11 @@ namespace AibisDream if (_isInCommand) { - DialogUiViewer.Instance.HideDialog(); + DialogCanvasManager.GetCurView().HideDialog(); base.RunLine(dialogueLine, onDialogueLineFinished); return; } - + HandleLineOutput(dialogueLine, onDialogueLineFinished); if (DialogController.Instance.quickRunMode) @@ -35,32 +33,21 @@ namespace AibisDream // 对话系统正在交谈状态 DialogController.Instance.IsTalking = true; - // 解析LocalizedLine - if (dialogueLine.Metadata != null && dialogueLine.Metadata.Contains(AutoNext)) - { - // 自动跳过 - DialogUiViewer.Instance.ShowAutoLine(dialogueLine.TextWithoutCharacterName.Text, - dialogueLine.CharacterName, onDialogueLineFinished); - } - else - { - // 需要玩家点击 - DialogUiViewer.Instance.ShowLine(dialogueLine.TextWithoutCharacterName.Text, - dialogueLine.CharacterName, onDialogueLineFinished); - } + DialogCanvasManager.GetCurView().ShowLine(dialogueLine.TextWithoutCharacterName.Text, + dialogueLine.GetCharacterVo(), onDialogueLineFinished, dialogueLine.IsAutoSkipLine()); } public override void RunOptions(DialogueOption[] dialogueOptions, Action onOptionSelected) { if (_isInCommand) { - DialogUiViewer.Instance.HideDialog(); + DialogCanvasManager.GetCurView().HideDialog(); base.RunOptions(dialogueOptions, onOptionSelected); return; } DialogController.Instance.IsTalking = true; - DialogUiViewer.Instance.ShowOptions(dialogueOptions, onOptionSelected); + DialogCanvasManager.GetCurView().ShowOptions(dialogueOptions, onOptionSelected); } public override void InterruptLine(LocalizedLine dialogueLine, Action onDialogueLineFinished) @@ -84,13 +71,11 @@ namespace AibisDream { return; } - - if (!DialogUiViewer.Instance.TrySkipLine()) + + if (!DialogCanvasManager.GetCurView().TrySkipLine()) { - DialogUiViewer.Instance.AfterEndLine(); requestInterrupt.Invoke(); } } } -} - +} \ No newline at end of file diff --git a/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs b/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs index 4a2764778..b6a95dfaa 100644 --- a/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs +++ b/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs @@ -10,8 +10,8 @@ public class ScreenEffectManager : MonoBehaviour { public static ScreenEffectManager Instance { get; private set; } - public Image blackoutPanel; // 黑屏面板 - public Image redFlashPanel; // 红色闪烁面板 + public Image blackoutPanel; // 黑屏面板 + public Image redFlashPanel; // 红色闪烁面板 private float shakeDuration = 0.5f; // 震屏持续时间 private float shakeIntensity = 0.04f; // 震屏强度 @@ -54,7 +54,8 @@ public class ScreenEffectManager : MonoBehaviour [YarnCommand("shakeScreen")] public IEnumerator ShakeScreen() { - yield return Camera.main.transform.DOPunchPosition(new Vector3(1, 0, 0) * shakeIntensity, shakeDuration, 8, 1f).WaitForCompletion(); + yield return Camera.main.transform.DOPunchPosition(new Vector3(1, 0, 0) * shakeIntensity, shakeDuration, 8, 1f) + .WaitForCompletion(); } // 黑屏淡入淡出效果 @@ -67,7 +68,8 @@ public class ScreenEffectManager : MonoBehaviour //fadeInSequence.AppendInterval(waitTime); yield return fadeInSequence.WaitForCompletion(); } - [YarnCommand("fadeOut")] + + [YarnCommand("fadeOut")] public IEnumerator FadeOut(float duration) { Sequence fadeOutSequence = DOTween.Sequence(); @@ -91,28 +93,24 @@ public class ScreenEffectManager : MonoBehaviour } // 动态调整饱和度 -public Tween TweenSaturation(float targetSaturation, float duration) -{ - if (colorAdjustments != null) + public Tween TweenSaturation(float targetSaturation, float duration) { - // 使用 DOTween 创建一个饱和度过渡动画 - Tween tween = DOTween.To( - () => colorAdjustments.saturation.value, // 获取当前饱和度值 - x => colorAdjustments.saturation.value = x, // 设置新的饱和度值 - targetSaturation, // 目标饱和度值 - duration // 过渡持续时间 - ); + if (colorAdjustments != null) + { + // 使用 DOTween 创建一个饱和度过渡动画 + Tween tween = DOTween.To( + () => colorAdjustments.saturation.value, // 获取当前饱和度值 + x => colorAdjustments.saturation.value = x, // 设置新的饱和度值 + targetSaturation, // 目标饱和度值 + duration // 过渡持续时间 + ); - return tween; // 返回 Tween 对象 + return tween; // 返回 Tween 对象 + } + else + { + Debug.LogError("ColorAdjustments settings not found."); + return null; // 如果找不到设置,返回 null + } } - else - { - Debug.LogError("ColorAdjustments settings not found."); - return null; // 如果找不到设置,返回 null - } -} - - - - -} +} \ No newline at end of file diff --git a/Assets/Scripts/Game Loop/GameLoopManager.cs b/Assets/Scripts/Game Loop/GameLoopManager.cs index e8a8095a6..cf58b5dec 100644 --- a/Assets/Scripts/Game Loop/GameLoopManager.cs +++ b/Assets/Scripts/Game Loop/GameLoopManager.cs @@ -1,4 +1,5 @@ using System.Collections; +using AibisDream.Config; using UnityEngine; using Yarn.Unity; @@ -23,6 +24,8 @@ namespace AibisDream public void Start() { + ConfigUtil.Instance.InitConfig(); + if (runMode == RunMode.Test) { MainUIController.Instance.TVFadeOut(1); diff --git a/Assets/Scripts/MiniGame/Shaft.cs b/Assets/Scripts/MiniGame/Shaft.cs index 6622875b5..18a07eff8 100644 --- a/Assets/Scripts/MiniGame/Shaft.cs +++ b/Assets/Scripts/MiniGame/Shaft.cs @@ -1,7 +1,5 @@ -using DG.Tweening; -using System; -using System.Collections; -using System.Collections.Generic; +using AibisDream.Utility; +using DG.Tweening; using UnityEngine; namespace AibisDream @@ -46,7 +44,7 @@ namespace AibisDream { get { - if (childGear == null) + if (!childGear) { return 0; } @@ -159,11 +157,11 @@ namespace AibisDream public static bool IsShaftConnected(Shaft shaft1, Shaft shaft2) { // 如果轴上无齿轮就不计算 - if (shaft1 == null || shaft2 == null) + if (!shaft1 || !shaft2) { return false; } - if (shaft1.childGear == null || shaft2.childGear == null) + if (!shaft1.childGear || !shaft2.childGear) { return false; } diff --git a/Assets/Scripts/UI/DialogUI.meta b/Assets/Scripts/UI/DialogUI.meta new file mode 100644 index 000000000..ec70037c8 --- /dev/null +++ b/Assets/Scripts/UI/DialogUI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 626c63a530654b14f9c7a3be634dd0b5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/DialogUI/DialogBox.cs b/Assets/Scripts/UI/DialogUI/DialogBox.cs new file mode 100644 index 000000000..7d7d2f74e --- /dev/null +++ b/Assets/Scripts/UI/DialogUI/DialogBox.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace AibisDream +{ + public class DialogBox : DialogBoxBase + { + [SerializeField] protected GameObject choiceButton; + + protected override void LoadChoiceButton() + { + choiceButtonPrefab = choiceButton; + } + } +} + diff --git a/Assets/Scripts/UI/DialogUI/DialogBox.cs.meta b/Assets/Scripts/UI/DialogUI/DialogBox.cs.meta new file mode 100644 index 000000000..96953bdd5 --- /dev/null +++ b/Assets/Scripts/UI/DialogUI/DialogBox.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 51f2233614aba944f9b2dab3d5af433b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/UI/DialogUI/DialogBoxBase.cs b/Assets/Scripts/UI/DialogUI/DialogBoxBase.cs new file mode 100644 index 000000000..3a75d42da --- /dev/null +++ b/Assets/Scripts/UI/DialogUI/DialogBoxBase.cs @@ -0,0 +1,204 @@ +using System; +using AibisDream.Config; +using AibisDream.Utility; +using Febucci.UI; +using TMPro; +using UnityEngine; +using UnityEngine.UI; +using Yarn.Unity; + +namespace AibisDream +{ + public abstract class DialogBoxBase : MonoBehaviour, IDialogView + { + #region box组件名称 + + private const string ActorName = "Actor Name"; + private const string DialogText = "Dialog Text"; + private const string NextArray = "Next Array"; + private const string ChoiceBox = "Choice Box"; + + #endregion + + #region box组件 + + protected TypewriterByCharacter dialogText; + protected TextMeshProUGUI actorName; + protected GameObject nextArray; + protected GameObject choiceBox; + + #endregion + + private bool _skipLineDelay; + [Header("跳过阻塞延迟时间/ms")] + [SerializeField] private int delayTime = 300; + + protected GameObject choiceButtonPrefab; + + protected virtual void Awake() + { + LoadChoiceButton(); + InitComponents(); + AddSomeListener(); + } + + private void AddSomeListener() + { + // 对话显示后有一段延时不可跳过 + dialogText.onTypewriterStart.AddListener(() => + { + _skipLineDelay = true; + CommonUtil.Delay(delayTime, () => { _skipLineDelay = false; }); + }); + } + + #region 初始化 + + protected virtual void LoadChoiceButton() + { + Debug.Log("无选项对话框"); + } + + private void InitComponents() + { + actorName = transform.Find(ActorName)?.gameObject.GetComponent(); + dialogText = transform.Find(DialogText)?.gameObject.GetComponent(); + nextArray = transform.Find(NextArray)?.gameObject; + choiceBox = transform.Find(ChoiceBox)?.gameObject; + } + + #endregion + + /// + /// 隐藏对话盒 + /// + public void HideDialog() + { + gameObject.SetActive(false); + } + + /// + /// 显示对话 + /// + /// 对话内容 + /// 角色内容 + /// 下一步 + /// 是否自动跳过,默认为false + public virtual void ShowLine(string dialogLine, CharacterVo character, Action nextStep, bool isAutoSkip = false) + { + gameObject.SetActive(true); + // 没有dialogText说明不能显示对话,直接跳过 + if (!dialogText) + { + return; + } + + // 把原有对话清掉 + ClearBox(); + dialogText.gameObject.SetActive(true); + choiceBox?.SetActive(false); + + // 显示内容 + ShowActorName(character); + dialogText.ShowText(dialogLine); + + // TODO 如果有头像的对话框要加入头像处理 + + // 自动跳过的回调很难独立Remove,只能全部清空再注册,下策 + dialogText.onTextShowed.RemoveAllListeners(); + dialogText.onTextShowed.AddListener(() => nextArray.gameObject.SetActive(true)); + + // 执行自动跳过结局 + if (isAutoSkip) + { + dialogText.onTextShowed.AddListener(() => CommonUtil.Delay(200, nextStep)); + } + } + + /// + /// 展示选项 + /// + /// 对话选项 + /// 选项选择 + public virtual void ShowOptions(DialogueOption[] dialogueOptions, Action onOptionSelected) + { + gameObject.SetActive(true); + // 没有选择框直接不显示选项 + if (!choiceBox) + { + return; + } + + // 把原有对话清掉 + ClearBox(); + choiceBox.SetActive(true); + dialogText.gameObject.SetActive(false); + + // 销毁原来的按钮 + foreach (Transform child in choiceBox.transform) + { + Destroy(child.gameObject); + } + + // 生成新按钮 + foreach (DialogueOption option in dialogueOptions) + { + if (!option.IsAvailable) continue; + + var choiceInstance = Instantiate(choiceButtonPrefab, choiceBox.transform); + choiceInstance.GetComponentInChildren().text = + option.Line.TextWithoutCharacterName.Text; + choiceInstance.GetComponent