优化+清理

This commit is contained in:
SepComet 2026-04-26 15:02:56 +08:00
parent 41ce6f5834
commit 1fae93ee41
30 changed files with 583 additions and 697 deletions

1
.gitignore vendored
View File

@ -103,3 +103,4 @@ crashlytics-build.properties
/.dotnet
/.claude
/.codex
/bin.zip

View File

@ -2,7 +2,7 @@
<UnityGameFramework>
<ResourceBuilder>
<Settings>
<InternalResourceVersion>2</InternalResourceVersion>
<InternalResourceVersion>5</InternalResourceVersion>
<Platforms>1</Platforms>
<AssetBundleCompression>1</AssetBundleCompression>
<CompressionHelperTypeName>UnityGameFramework.Runtime.DefaultCompressionHelper</CompressionHelperTypeName>

View File

@ -13,7 +13,7 @@
100300001 Other 旁白 0 你是新入将作监的画图令史,今日正是你当值的第一天。 None 1.00300001 1003.00001
100300002 LiJie 李诫 1 你便是新任的画图令史? None 1.00300002 1003.00002
100300003 LiJie 李诫 1 来得正好。 None 1.00300003 1003.00003
100300004 Player 玩家 0 属下正是,见过李主簿。 None 1.00300004 1003.00004
100300004 Player 0 属下正是,见过李主簿。 None 1.00300004 1003.00004
100300005 LiJie 李诫 1 方才工地塌架,你也有所耳闻。 None 1.00300005 1003.00005
100300006 LiJie 李诫 1 这工头竟拿柳木来替代楠木,企图瞒天过海,结果却落得如此下场, None 1.00300006 1003.00006
100300007 LiJie 李诫 1 幸好方才无人员伤亡,才让这工头躲过一劫。 None 1.00300007 1003.00007
@ -21,11 +21,11 @@
100300009 LiJie 李诫 1 而我们的职责,就是尽早发现这般祸患,防止酿成更大的问题。 None 1.00300009 1003.00009
100300010 LiJie 李诫 1 无规矩,则屋不立;无准绳,则工不正。 None 1.0030001 1003.0001
100300011 LiJie 李诫 1 你也要牢记。 None 1.00300011 1003.00011
100300012 Player 玩家 0 是,李主簿。 None 1.00300012 1003.00012
100300012 Player 0 是,李主簿。 None 1.00300012 1003.00012
100300013 LiJie 李诫 1 你既为画图令史,第一要务便是识木、辨材、熟用器具。 None 1.00300013 1003.00013
100300014 LiJie 李诫 1 现在随我去库房,我来带你认识水准、绳墨、曲尺、方斗这些营造根本之器。 None 1.00300014 1003.00014
100300015 LiJie 李诫 1 待你熟习测量与料例,我便亲自带你到工地监工核验,杜绝此类祸事再发。 None 1.00300015 1003.00015
100300016 Player 玩家 0 属下遵命。 None 1.00300016 1003.00016
100300016 Player 0 属下遵命。 None 1.00300016 1003.00016
100300017 Other 旁白 0 你正式踏入将作监,一段以法度正营造的历程,自此开始。 None 1.00300017 1003.00017
100400001 LiJie 李诫 1 这里是库房,存放着营造时用到的所有工具。 None 1.00400001 1004.00001
100400002 Subtitle 字幕 0 檀木质地,刻度以朱砂标注,一端为方、一端为折,刻有 “材份” 刻度。 EntityCue 1.00400002 1004.00002
@ -36,7 +36,7 @@
100400007 Subtitle 字幕 0 方斗为楠木所制,斗身刻 “将作监” 款识,墨仓密封,绳墨以生丝浸松烟墨制成,耐磨不褪。 EntityCueClose 1.00400007 1004.00007
100400008 LiJie 李诫 1 营造之事,“直” 为要。 None 1.00400008 1004.00008
100400009 LiJie 李诫 1 工头偷工减料,常以歪木充数,若以绳墨弹线,歪直立现,断无蒙混可能。 None 1.00400009 1004.00009
100400010 Player 玩家 0 那这是何物? EntityCue 1.0040001 1004.0001
100400010 Player 0 那这是何物? EntityCue 1.0040001 1004.0001
100400011 LiJie 李诫 1 这是水准,也名 “水尺”,测地势高低、屋基平正之用。 None 1.00400011 1004.00011
100400012 Subtitle 字幕 0 青铜制的水准器,形制为长槽,内盛水,槽侧刻刻度,槽端有通气孔,是宋代成熟的水准测量工具。 None 1.00400012 1004.00012
100400013 LiJie 李诫 1 汴京地势多洼,营建房宇先以水准定基址 EntityCueClose 1.00400013 1004.00013
@ -48,14 +48,14 @@
100400019 LiJie 李诫 1 这些工具,是规矩的具象,料例是制度的准绳,二者相合,才能堵贪弊、正营造。 None 1.00400019 1004.00019
100400020 LiJie 李诫 1 今日先熟其形、知其用。 None 1.0040002 1004.0002
100400021 LiJie 李诫 1 明日随我去工地,以器验工,看看那些贪弊工头还能藏多少猫腻。 None 1.00400021 1004.00021
100400022 Player 玩家 0 是,李主簿。 None 1.00400022 1004.00022
100400022 Player 0 是,李主簿。 None 1.00400022 1004.00022
100500001 LiJie 李诫 0 这工地是谁负责! None 1.00500001 1005.00001
100500002 GongTou 工头 1 李主簿,您怎么又来了… None 1.00500002 1005.00002
100500003 LiJie 李诫 0 我不来,怎知你们又在如何糊弄? None 1.00500003 1005.00003
100500004 LiJie 李诫 0 今日来便是要验工。 None 1.00500004 1005.00004
100500005 LiJie 李诫 0 你且取来昨日库房的曲尺、绳墨、水准,逐一核验梁柱基址。 None 1.00500005 1005.00005
100500006 Player 玩家 0 是,李主簿。 None 1.00500006 1005.00006
100500007 Player 玩家 0 李主簿,这根立柱偏斜三分,枋木榫口尺寸不符,根本无法咬合! None 1.00500007 1005.00007
100500006 Player 0 是,李主簿。 None 1.00500006 1005.00006
100500007 Player 0 李主簿,这根立柱偏斜三分,枋木榫口尺寸不符,根本无法咬合! None 1.00500007 1005.00007
100500008 GongTou 工头 1 这… None 1.00500008 1005.00008
100500009 GongTou 工头 1 … None 1.00500009 1005.00009
100500010 GongTou 工头 1 这只是小偏差,匠人凭手眼便可调整… None 1.0050001 1005.0001
@ -67,8 +67,8 @@
100500016 LiJie 李诫 0 今日我便教你按材份制放样、按标准榫卯拼装。 None 1.00500016 1005.00016
100500017 LiJie 李诫 0 先定材份,再画榫头长短、卯眼深浅,每一分都有定数。 None 1.00500017 1005.00017
100500018 LiJie 李诫 0 你来上手试试。 None 1.00500018 1005.00018
100600001 Player 玩家 0 原来如此… None 1.00600001 1006.00001
100600002 Player 玩家 0 对齐、卡紧、压实,竟如此稳固! None 1.00600002 1006.00002
100600001 Player 0 原来如此… None 1.00600001 1006.00001
100600002 Player 0 对齐、卡紧、压实,竟如此稳固! None 1.00600002 1006.00002
100600003 LiJie 李诫 0 这便是法度之力。 None 1.00600003 1006.00003
100600004 LiJie 李诫 0 构件按图预制,到工地只需精准拼装,既省工,又让贪弊者无可乘之机。 None 1.00600004 1006.00004
100600005 LiJie 李诫 0 往后所有构件,必须先以尺量、以图定、以榫卯合,不合格一律不准上架! None 1.00600005 1006.00005
@ -103,7 +103,7 @@
200200024 LiJie 李诫 0 都料匠,你敢应否? None 2.00200024 2002.00024
200200025 LaoDu 老都料匠 1 有何不敢! None 2.00200025 2002.00025
200200026 LaoDu 老都料匠 1 老身的手艺,还怕比不过一纸刻度? None 2.00200026 2002.00026
200200027 Player 玩家 0 属下必不负李丞所托! None 2.00200027 2002.00027
200200027 Player 0 属下必不负李丞所托! None 2.00200027 2002.00027
200200028 Other 旁白 0 一场关乎 “古法” 与 “新法” 的对决,就此展开; None 2.00200028 2002.00028
200200029 Other 旁白 0 而你手中的曲尺,不再只是验工的工具,更是书写营造法度的笔。 None 2.00200029 2002.00029
200300002 LiJie 李诫 0 今日便教你材份制的根本,这是重修《营造法式》的核心,也是拼出标准斗拱的关键。 None 2.00300002 2003.00002
@ -113,25 +113,25 @@
200300006 LiJie 李诫 0 殿宇大小、斗拱高低、榫卯长短,全由这八等材定尺,再无凭口传、靠手感的乱象。 None 2.00300006 2003.00006
200300007 LaoDu 老都料匠 1 不过是把口传的尺寸刻在木上,换个说法罢了,拼斗拱还得看手上功夫! None 2.00300007 2003.00007
200300008 LiJie 李诫 0 你且用这曲尺,量一量这五铺作斗拱的栌斗。 None 2.00300008 2003.00008
200300009 Player 玩家 0 回李丞,栌斗方三十二分,高二十分! None 2.00300009 2003.00009
200300009 Player 0 回李丞,栌斗方三十二分,高二十分! None 2.00300009 2003.00009
200300010 LiJie 李诫 0 没错。五铺作斗拱的华拱、耍头、罗汉枋,每一件构件、每一处榫卯,都有材份定数,半分不差。 None 2.0030001 2003.0001
200300011 LiJie 李诫 0 古法拼斗拱,榫头凭砍、卯眼凭凿,松紧全靠凑;按材份制, None 2.00300011 2003.00011
200300012 LiJie 李诫 0 榫头长 12 分、宽 6 分,卯眼深 10 分、宽 6 分,严丝合缝。 None 2.00300012 2003.00012
200300013 LiJie 李诫 0 先弹中线定基准,再按材份画榫卯轮廓,异地预制的构件,运到工地也能精准拼装。 None 2.00300013 2003.00013
200300014 Player 玩家 0 按尺标记,尺寸丝毫不差,原来榫卯可以如此精准! None 2.00300014 2003.00014
200300014 Player 0 按尺标记,尺寸丝毫不差,原来榫卯可以如此精准! None 2.00300014 2003.00014
200300015 LiJie 李诫 0 都料匠,你四十年手艺,可曾让百组斗拱的榫卯分毫不差? None 2.00300015 2003.00015
200300016 LiJie 李诫 0 可曾实现构件异地预制、现场速拼? None 2.00300016 2003.00016
200300017 LaoDu 老都料匠 1 …工地见真章! None 2.00300017 2003.00017
200300018 LaoDu 老都料匠 1 光说不练不算数! None 2.00300018 2003.00018
200300019 LiJie 李诫 0 你已掌握材份测量与榫卯标记,明日随我去五王邸工地,用这套法度, None 2.00300019 2003.00019
200300020 LiJie 李诫 0 拼出能服天下匠人的五铺作斗拱! None 2.0030002 2003.0002
200300021 Player 玩家 0 属下遵命! None 2.00300021 2003.00021
200300021 Player 0 属下遵命! None 2.00300021 2003.00021
200300022 Other 旁白 0 你终于懂了材份制的真谛,标准化的营造法度,即将在工地接受最严苛的检验。 None 2.00300022 2003.00022
200400001 LiJie 李诫 0 今日对决,只看三点:榫卯严合、拼装速度、构件通用,输者便认材份制为营造正途! None 2.00400001 2004.00001
200400002 LaoDu 老都料匠 1 老夫造了一辈子斗拱,闭眼都能拼! None 2.00400002 2004.00002
200400003 LaoDu 老都料匠 1 哪用得着什么刻度分份! None 2.00400003 2004.00003
200400004 LiJie 李诫 0 该你了,按材份制,一步一验,精准拼装。 None 2.00400004 2004.00004
200500001 Player 玩家 0 李丞,拼装完毕! None 2.00500001 2005.00001
200500001 Player 0 李丞,拼装完毕! None 2.00500001 2005.00001
200500002 LiJie 李诫 0 都看好了! None 2.00500002 2005.00002
200500003 LiJie 李诫 0 这就是口传手感与材份法度的差别! None 2.00500003 2005.00003
200500004 LiJie 李诫 0 按材份制预制的构件,异地生产、现场互换,百组斗拱皆可通用,省工三倍, None 2.00500004 2005.00004
@ -145,7 +145,7 @@
200500012 LaoDu 老都料匠 1 李官人,是老夫守旧迂腐了! None 2.00500012 2005.00012
200500013 LaoDu 老都料匠 1 这材份制,才是能护营造、利万民的真法度! None 2.00500013 2005.00013
200500014 LaoDu 老都料匠 1 往后,老夫愿按法式规矩做工! None 2.00500014 2005.00014
200500015 Player 玩家 0 材份定规,榫卯立心,营造之法,终于有了统一准绳! None 2.00500015 2005.00015
200500015 Player 0 材份定规,榫卯立心,营造之法,终于有了统一准绳! None 2.00500015 2005.00015
200500016 Other 旁白 0 一场对决,折服老匠,更定下了天下营造的模数根基;标准化的营造之路,自此彻底走通。 None 2.00500016 2005.00016
200600001 LaoDu 老都料匠 1 李丞,今日工地实测,让老身彻悟! None 2.00600001 2006.00001
200600002 LaoDu 老都料匠 1 口传终有尽,法度传千年,这材份制,老身服了! None 2.00600002 2006.00002
@ -154,7 +154,7 @@
200600005 LiJie 李诫 0 古法手艺是根,标准法度是纲,纲举目张,手艺才能代代不失。 None 2.00600005 2006.00005
200600006 LiJie 李诫 0 今日五铺作斗拱的材份模数、榫卯尺寸、拼装流程,皆是重修《营造法式》的核心实证。 None 2.00600006 2006.00006
200600007 LiJie 李诫 0 你今日以材份制拼斗拱,实测精准、榫卯稳固,足堪担当绘图重任。 None 2.00600007 2006.00007
200600008 Player 玩家 0 回李丞,五铺作斗拱材份、榫卯数据已全部归档,可作为官造标准! None 2.00600008 2006.00008
200600008 Player 0 回李丞,五铺作斗拱材份、榫卯数据已全部归档,可作为官造标准! None 2.00600008 2006.00008
200600009 LiJie 李诫 0 好! None 2.00600009 2006.00009
200600010 LiJie 李诫 0 自今日起,将作监所有大木作构件,皆按此标准备料、放样、拼装;我会奏报朝廷, None 2.0060001 2006.0001
200600011 LiJie 李诫 0 将材份制、榫卯标准、斗拱制度,逐一写入新修《营造法式》。 None 2.00600011 2006.00011
@ -182,8 +182,8 @@
300200015 LiJie 李诫 0 你随我五载,熟材份、通榫卯、验过工地、拼过斗拱。 None 3.00200015 3002.00015
300200016 LiJie 李诫 0 今日起,你便是图样编修的主事画图吏,与我一同,将这大宋营造的规矩, None 3.00200016 3002.00016
300200017 LiJie 李诫 0 一笔一画绘在纸上,立为天下准绳! None 3.00200017 3002.00017
300200018 Player 玩家 0 属下遵命! None 3.00200018 3002.00018
300200019 Player 玩家 0 定以材份为尺,以笔墨为工,绘精准图样,立万世法度,不负李丞所托! None 3.00200019 3002.00019
300200018 Player 0 属下遵命! None 3.00200018 3002.00018
300200019 Player 0 定以材份为尺,以笔墨为工,绘精准图样,立万世法度,不负李丞所托! None 3.00200019 3002.00019
300200020 LaoDu 老都料匠 1 李丞,老身虽愚钝,却也知这图样的紧要。 None 3.0020002 3002.0002
300200021 LaoDu 老都料匠 1 我手中有历代匠人传下的营造手谱,虽无规整刻度, None 3.00200021 3002.00021
300200022 LaoDu 老都料匠 1 却记了太庙、朱雀门的形制要诀,愿献出来,为编修图样尽一份力! None 3.00200022 3002.00022
@ -211,8 +211,8 @@
300300019 LiJie 李诫 0 先画平图,以这十字墨线为基准,栌斗居其中,先定其材份尺寸,再标斗拱间距。 None 3.00300019 3003.00019
300300020 LaoDu 老都料匠 1 大人,这五铺作斗拱的华拱,与罗汉枋交接处,榫头需稍收一分, None 3.0030002 3003.0002
300300021 LaoDu 老都料匠 1 不然拼装时易卡壳,老身造了几十年,这一点错不了,绘图时莫要漏了。 None 3.00300021 3003.00021
300300022 Player 玩家 0 属下记下了:三准为纲,三图为要,材份定数,形制合规,更要融老匠之法, None 3.00300022 3003.00022
300300023 Player 玩家 0 让图样既准法度,又合工用。 None 3.00300023 3003.00023
300300022 Player 0 属下记下了:三准为纲,三图为要,材份定数,形制合规,更要融老匠之法, None 3.00300022 3003.00022
300300023 Player 0 让图样既准法度,又合工用。 None 3.00300023 3003.00023
300300024 LiJie 李诫 0 不错,制图非为纸上定规,实为工地施工,徒有刻度而不合工用,也是虚图。 None 3.00300024 3003.00024
300300025 LiJie 李诫 0 今日你先定平图的基准与材份标注,我与都料匠在旁看顾,有疑便问,务必做到分毫无差。 None 3.00300025 3003.00025
300300026 Other 旁白 0 绘图室里,墨线为骨,材份为尺,朱砂为色。 None 3.00300026 3003.00026
@ -226,13 +226,13 @@
300400005 LaoDu 老都料匠 1 寿康殿偏轩我早年参与过修葺,面阔三间约一丈八尺,进深两间一丈二尺, None 3.00400005 3004.00005
300400006 LaoDu 老都料匠 1 原是小式殿宇,该用六等材,五铺作斗拱便够,只是当年无图样,全凭匠人手眼, None 3.00400006 3004.00006
300400007 LaoDu 老都料匠 1 如今按新法制图,正好见真章! None 3.00400007 3004.00007
300400008 Player 玩家 0 属下遵命! None 3.00400008 3004.00008
300400008 Player 0 属下遵命! None 3.00400008 3004.00008
300400009 LiJie 李诫 0 侧脚柱是官造定规,檐柱微倾二分,内柱微倾一分,既防屋宇侧倾,又显形制层次, None 3.00400009 3004.00009
300400010 LiJie 李诫 0 绘时柱脚需向内收,不可画成直柱! None 3.0040001 3004.0001
300400011 LaoDu 老都料匠 1 画图吏,偏轩是休憩之所,屋架举折不可太陡,不然檐角上翘过甚, None 3.00400011 3004.00011
300400012 LaoDu 老都料匠 1 失了精巧;梁枋与斗拱交接处,榫头需短三分,六等材料细,榫头过长易折。 None 3.00400012 3004.00012
300400013 Player 玩家 0 依材份定尺,按法度绘图,竟真能让纸上笔墨,化作宫中轩宇的模样, None 3.00400013 3004.00013
300400014 Player 玩家 0 连侧脚、举折这些细节,都分毫不差! None 3.00400014 3004.00014
300400013 Player 0 依材份定尺,按法度绘图,竟真能让纸上笔墨,化作宫中轩宇的模样, None 3.00400013 3004.00013
300400014 Player 0 连侧脚、举折这些细节,都分毫不差! None 3.00400014 3004.00014
300400015 LiJie 李诫 0 这便是实战制图的要义! None 3.00400015 3004.00015
300400016 LiJie 李诫 0 制图非为纸上好看,实为工地施工,既要合官造法度,又要贴施工实理, None 3.00400016 3004.00016
300400017 LiJie 李诫 0 你今日将材份制、老匠经验融于一图,才算真正掌了官式制图的门道! None 3.00400017 3004.00017
@ -249,10 +249,10 @@
300500002 LiJie 李诫 0 凡下料、拼装、立架,分毫皆按图中材份定数,老都料匠督工,画图吏验尺, None 3.00500002 3005.00002
300500003 LiJie 李诫 0 敢有私改尺寸、克扣物料者,按律处置! None 3.00500003 3005.00003
300500004 LaoDu 老都料匠 1 侧脚柱,六等材制,柱身微倾二分,尺寸合度! None 3.00500004 3005.00004
300500005 Player 玩家 0 李丞,五铺作斗拱构件,榫头长 6 分、卯眼深 5 分,皆按六等材定数, None 3.00500005 3005.00005
300500006 Player 玩家 0 榫卯严合,可拼装! None 3.00500006 3005.00006
300500007 Player 玩家 0 料例皆按图样定数,每一根木料、每一组构件都有标注,少一分一毫,皆可查对, None 3.00500007 3005.00007
300500008 Player 玩家 0 休要存贪念! None 3.00500008 3005.00008
300500005 Player 0 李丞,五铺作斗拱构件,榫头长 6 分、卯眼深 5 分,皆按六等材定数, None 3.00500005 3005.00005
300500006 Player 0 榫卯严合,可拼装! None 3.00500006 3005.00006
300500007 Player 0 料例皆按图样定数,每一根木料、每一组构件都有标注,少一分一毫,皆可查对, None 3.00500007 3005.00007
300500008 Player 0 休要存贪念! None 3.00500008 3005.00008
300500009 GongTou 工头 1 不敢不敢,画图吏明察,小人绝不敢乱来! None 3.00500009 3005.00009
300500010 LaoDu 老都料匠 1 按图施工,就是省心! None 3.0050001 3005.0001
300500011 LaoDu 老都料匠 1 往日拼斗拱,少则半日,多则一日,如今按图对榫,一刻便成,还无半分偏差, None 3.00500011 3005.00011
@ -263,9 +263,9 @@
300500016 LaoDu 老都料匠 1 老身活了大半辈子,今日才知,营造之事,有图有法,方能事半功倍。 None 3.00500016 3005.00016
300500017 LaoDu 老都料匠 1 这偏轩的构架,比当年无图营造时,牢固数倍,模样也更周正,往后我等匠人, None 3.00500017 3005.00017
300500018 LaoDu 老都料匠 1 必奉图样为圭臬! None 3.00500018 3005.00018
300500019 Player 玩家 0 材份定尺,图样定形,法立则工正,工正则屋固! None 3.00500019 3005.00019
300500020 Player 玩家 0 这寿康殿偏轩,便是新法营造的明证,往后天下营造,皆依此例, None 3.0050002 3005.0002
300500021 Player 玩家 0 便再无无规之乱、贪弊之害! None 3.00500021 3005.00021
300500019 Player 0 材份定尺,图样定形,法立则工正,工正则屋固! None 3.00500019 3005.00019
300500020 Player 0 这寿康殿偏轩,便是新法营造的明证,往后天下营造,皆依此例, None 3.0050002 3005.0002
300500021 Player 0 便再无无规之乱、贪弊之害! None 3.00500021 3005.00021
300500022 LiJie 李诫 0 寿康殿偏轩大木作功成,后续瓦作、小木作,皆依图样施工! None 3.00500022 3005.00022
300500023 LiJie 李诫 0 今日之功,画图吏主笔制图有功,老都料匠督工有方,匠人依图施工尽责,皆记功一次! None 3.00500023 3005.00023
400100001 Other 旁白 0 元符二年秋,寿康殿偏轩大木作如期功成, None 4.00100001 4001.00001
@ -281,11 +281,11 @@
400200009 LaoDu 老都料匠 1 曾与李大人争执于工地,如今见这三十六卷册籍,才知什么是真正的营造之法! None 4.00200009 4002.00009
400200010 LaoDu 老都料匠 1 这纸上的每一根墨线、每一个朱字,都是大人与画图吏的心血,是天下匠人的规矩, None 4.0020001 4002.0001
400200011 LaoDu 老都料匠 1 往后营造,再无无章可循之苦,这是大宋匠人的福分啊! None 4.00200011 4002.00011
400200012 Player 玩家 0 属下元祐七年入监,蒙大人教诲,始识水准、绳墨之器, None 4.00200012 4002.00012
400200013 Player 玩家 0 初知料例、材份之规;十载相伴,从工地验工到案头制图, None 4.00200013 4002.00013
400200014 Player 玩家 0 从拼斗拱、绘轩宇到参编法式,方悟营造之要,在法、在规、在传。 None 4.00200014 4002.00014
400200015 Player 玩家 0 这三十六卷法式,是大人的毕生所愿,是众匠人的心血所凝, None 4.00200015 4002.00015
400200016 Player 玩家 0 更是大宋营造的万世准绳,属下幸参与其中,此生无憾! None 4.00200016 4002.00016
400200012 Player 0 属下元祐七年入监,蒙大人教诲,始识水准、绳墨之器, None 4.00200012 4002.00012
400200013 Player 0 初知料例、材份之规;十载相伴,从工地验工到案头制图, None 4.00200013 4002.00013
400200014 Player 0 从拼斗拱、绘轩宇到参编法式,方悟营造之要,在法、在规、在传。 None 4.00200014 4002.00014
400200015 Player 0 这三十六卷法式,是大人的毕生所愿,是众匠人的心血所凝, None 4.00200015 4002.00015
400200016 Player 0 更是大宋营造的万世准绳,属下幸参与其中,此生无憾! None 4.00200016 4002.00016
400200017 NeiShi 内侍 1 圣旨到 —— 将作监少监李诫接旨! None 4.00200017 4002.00017
400200018 NeiShi 内侍 1 皇帝诏曰:古者营室,度以绳墨,程以功限,乃成万世之基。 None 4.00200018 4002.00018
400200019 NeiShi 内侍 1 将作监少监李诫,恪恭职守,十载编修,成《营造法式》三十六卷。 None 4.00200019 4002.00019
@ -303,11 +303,11 @@
400300005 LiJie 李诫 1 当年库房之内,教你识水准、曲尺, None 4.00300005 4003.00005
400300006 LiJie 李诫 1 只为让你知 “无规矩则屋不立”;今日法式行天下,工有规,料有例,图有准, None 4.00300006 4003.00006
400300007 LiJie 李诫 1 国用省,民力安,这便是我编修法式的初心啊。 None 4.00300007 4003.00007
400300008 Player 玩家 0 此非大人一人之功,却因大人一人而起。 None 4.00300008 4003.00008
400300009 Player 玩家 0 从立材份制破古法之囿,到绘官式图融匠艺于纸,再到定功限料例堵贪弊之源, None 4.00300009 4003.00009
400300010 Player 玩家 0 大人以十载心血,整肃天下营造,让匠艺有传,法度有立。 None 4.0030001 4003.0001
400300011 Player 玩家 0 属下幸蒙大人教诲,从初识器具的画图令史,到能独掌制图、监工的匠官, None 4.00300011 4003.00011
400300012 Player 玩家 0 十载相伴,所学所悟,终身受用。 None 4.00300012 4003.00012
400300008 Player 0 此非大人一人之功,却因大人一人而起。 None 4.00300008 4003.00008
400300009 Player 0 从立材份制破古法之囿,到绘官式图融匠艺于纸,再到定功限料例堵贪弊之源, None 4.00300009 4003.00009
400300010 Player 0 大人以十载心血,整肃天下营造,让匠艺有传,法度有立。 None 4.0030001 4003.0001
400300011 Player 0 属下幸蒙大人教诲,从初识器具的画图令史,到能独掌制图、监工的匠官, None 4.00300011 4003.00011
400300012 Player 0 十载相伴,所学所悟,终身受用。 None 4.00300012 4003.00012
400300013 LiJie 李诫 1 非独你我,这是老都料匠等百匠同心,是天下营造人共愿。 None 4.00300013 4003.00013
400300014 LiJie 李诫 1 你如今已能独当一面,往后将作监的营造法度,便要靠你与后生们传承。 None 4.00300014 4003.00014
400300015 LiJie 李诫 1 学馆里的年轻画图吏、匠人,皆如当年的你,需让他们知法度、守规矩、传匠艺, None 4.00300015 4003.00015

View File

@ -5,7 +5,7 @@
1 弹出框 DialogForm Dialog True False
2 BgForm Default False False
100 主菜单 MenuForm Default False True
101 设置 SettingForm Default False True
101 设置 SettingForm Default False False
102 关于 AboutForm Default False True
103 组装玩法UI CombineForm Default False False
104 Mask对话UI MaskDialogForm Dialog False False

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 7acc756222cd0df48a82e3ef2e6fc023
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,266 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &733650750
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 733650754}
- component: {fileID: 733650753}
- component: {fileID: 733650752}
- component: {fileID: 733650751}
m_Layer: 0
m_Name: Camera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &733650751
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 733650750}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
--- !u!81 &733650752
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 733650750}
m_Enabled: 1
--- !u!20 &733650753
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 733650750}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &733650754
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 733650750}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 679.54193, y: 385.70178, z: 3.6800277}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 733650754}

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 639c98846a76d624cbac99ade4a1e1a3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,104 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-32820517437979890
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0b2db86121404754db890f4c8dfe81b2, type: 3}
m_Name: Bloom
m_EditorClassIdentifier:
active: 1
skipIterations:
m_OverrideState: 0
m_Value: 1
threshold:
m_OverrideState: 0
m_Value: 0.9
intensity:
m_OverrideState: 1
m_Value: 1
scatter:
m_OverrideState: 0
m_Value: 0.7
clamp:
m_OverrideState: 0
m_Value: 65472
tint:
m_OverrideState: 0
m_Value: {r: 1, g: 1, b: 1, a: 1}
highQualityFiltering:
m_OverrideState: 0
m_Value: 0
downscale:
m_OverrideState: 0
m_Value: 0
maxIterations:
m_OverrideState: 0
m_Value: 6
dirtTexture:
m_OverrideState: 0
m_Value: {fileID: 0}
dimension: 1
dirtIntensity:
m_OverrideState: 0
m_Value: 0
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: GlobalVolumeProfile
m_EditorClassIdentifier:
components:
- {fileID: 1881579288749618558}
- {fileID: -32820517437979890}
--- !u!114 &1881579288749618558
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97c23e3b12dc18c42a140437e53d3951, type: 3}
m_Name: Tonemapping
m_EditorClassIdentifier:
active: 1
mode:
m_OverrideState: 1
m_Value: 1
neutralHDRRangeReductionMode:
m_OverrideState: 0
m_Value: 2
acesPreset:
m_OverrideState: 0
m_Value: 3
hueShiftAmount:
m_OverrideState: 0
m_Value: 0
detectPaperWhite:
m_OverrideState: 0
m_Value: 0
paperWhite:
m_OverrideState: 0
m_Value: 300
detectBrightnessLimits:
m_OverrideState: 0
m_Value: 1
minNits:
m_OverrideState: 0
m_Value: 0.005
maxNits:
m_OverrideState: 0
m_Value: 1000

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 3b1611489367200459a07da915578b6a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -122,7 +122,7 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &70728207
--- !u!1 &471193224
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -130,177 +130,84 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 70728208}
- component: {fileID: 70728210}
- component: {fileID: 70728209}
m_Layer: 5
m_Name: background
- component: {fileID: 471193226}
- component: {fileID: 471193225}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &70728208
RectTransform:
--- !u!212 &471193225
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 70728207}
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: 1779441777}
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 &70728209
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 70728207}
m_GameObject: {fileID: 471193224}
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: c48769a908d6a474bbf52ac1ad195815, 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 &70728210
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 70728207}
m_CullTransparentMesh: 1
--- !u!1 &1779441773
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1779441777}
- component: {fileID: 1779441776}
- component: {fileID: 1779441775}
- component: {fileID: 1779441774}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1779441774
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1779441773}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &1779441775
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1779441773}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 2048, y: 1152}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1779441776
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1779441773}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingOrder: -10000
m_TargetDisplay: 0
--- !u!224 &1779441777
RectTransform:
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 21300000, guid: ab45c3f613f388d43bbf43ec05eb92e2, type: 3}
m_Color: {r: 0, g: 0, b: 0, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 8, y: 8}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!4 &471193226
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1779441773}
m_GameObject: {fileID: 471193224}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 70728208}
m_LocalScale: {x: 5000, y: 5000, z: 5000}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1779441777}
- {fileID: 471193226}

View File

@ -12,11 +12,14 @@ namespace GeometryTD.CustomComponent
public class ResolutionAdapterComponent : GameFrameworkComponent
{
private const float DefaultCanvasPlaneDistance = 100f;
private static ResolutionAdapterComponent s_Instance;
[SerializeField] private Vector2 _referenceResolution = new Vector2(2560f, 1600f);
[SerializeField] private bool _adaptUiCanvasToViewport = true;
[SerializeField] private bool _enableBlackMask = true;
[SerializeField] private int _maskSortingOrder = short.MaxValue;
[SerializeField] private bool _autoCollectSceneCanvases = true;
[SerializeField] private float _canvasProbeInterval = 0.2f;
[SerializeField] private List<Transform> _uiRoots = new List<Transform>();
private readonly List<Canvas> _canvasBuffer = new List<Canvas>(32);
@ -32,6 +35,7 @@ namespace GeometryTD.CustomComponent
private bool _uiEventSubscribed;
private bool _sceneEventSubscribed;
private bool _missingRootWarned;
private float _nextCanvasProbeTime;
private Canvas _maskCanvas;
private RectTransform _leftMask;
@ -39,6 +43,23 @@ namespace GeometryTD.CustomComponent
private RectTransform _topMask;
private RectTransform _bottomMask;
public static bool TryGetTargetViewport(out Rect viewport)
{
if (s_Instance != null && s_Instance._cachedScreenWidth > 0 && s_Instance._cachedScreenHeight > 0)
{
viewport = s_Instance._targetViewport;
return true;
}
viewport = new Rect(0f, 0f, 1f, 1f);
return false;
}
private void Awake()
{
s_Instance = this;
}
private void Start()
{
TryEnsureUiEventSubscribed();
@ -48,6 +69,10 @@ namespace GeometryTD.CustomComponent
private void Update()
{
TryEnsureUiEventSubscribed();
}
private void LateUpdate()
{
ApplyAdaptation(false);
}
@ -59,6 +84,11 @@ namespace GeometryTD.CustomComponent
{
_mainCamera.rect = new Rect(0f, 0f, 1f, 1f);
}
if (s_Instance == this)
{
s_Instance = null;
}
}
private void ApplyAdaptation(bool force)
@ -95,11 +125,7 @@ namespace GeometryTD.CustomComponent
return;
}
if (!needRecalculate && !_canvasCacheDirty)
{
return;
}
TryMarkCanvasCacheDirtyByProbe();
ApplyCanvasAdaptation();
}
@ -308,6 +334,7 @@ namespace GeometryTD.CustomComponent
if (!_uiEventSubscribed)
{
GameEntry.Event.Subscribe(OpenUIFormSuccessEventArgs.EventId, OnUIFormChanged);
GameEntry.Event.Subscribe(OpenUIFormUpdateEventArgs.EventId, OnUIFormChanged);
GameEntry.Event.Subscribe(CloseUIFormCompleteEventArgs.EventId, OnUIFormChanged);
_uiEventSubscribed = true;
_canvasCacheDirty = true;
@ -331,6 +358,7 @@ namespace GeometryTD.CustomComponent
if (_uiEventSubscribed)
{
GameEntry.Event.Unsubscribe(OpenUIFormSuccessEventArgs.EventId, OnUIFormChanged);
GameEntry.Event.Unsubscribe(OpenUIFormUpdateEventArgs.EventId, OnUIFormChanged);
GameEntry.Event.Unsubscribe(CloseUIFormCompleteEventArgs.EventId, OnUIFormChanged);
_uiEventSubscribed = false;
}
@ -353,6 +381,47 @@ namespace GeometryTD.CustomComponent
_missingRootWarned = false;
}
private void TryMarkCanvasCacheDirtyByProbe()
{
if (_canvasCacheDirty)
{
return;
}
if (_canvasProbeInterval > 0f && Time.unscaledTime < _nextCanvasProbeTime)
{
return;
}
_nextCanvasProbeTime = Time.unscaledTime + Mathf.Max(0.01f, _canvasProbeInterval);
Canvas[] canvases = Resources.FindObjectsOfTypeAll<Canvas>();
foreach (Canvas canvas in canvases)
{
if (canvas == null || canvas == _maskCanvas || canvas.renderMode == RenderMode.WorldSpace)
{
continue;
}
GameObject gameObject = canvas.gameObject;
if (!gameObject.scene.IsValid() || !gameObject.scene.isLoaded)
{
continue;
}
if (!_trackedCanvasSet.Contains(canvas))
{
_canvasCacheDirty = true;
return;
}
}
}
private void CalculateViewportPadding(out float horizontalPadding, out float verticalPadding)
{
horizontalPadding = Mathf.Max(0f, (1f - _targetViewport.width) * 0.5f * _cachedScreenWidth);
verticalPadding = Mathf.Max(0f, (1f - _targetViewport.height) * 0.5f * _cachedScreenHeight);
}
private void UpdateMaskLayout()
{
if (!_enableBlackMask)
@ -367,8 +436,13 @@ namespace GeometryTD.CustomComponent
return;
}
float horizontalPadding = Mathf.Max(0f, (1f - _targetViewport.width) * 0.5f * _cachedScreenWidth);
float verticalPadding = Mathf.Max(0f, (1f - _targetViewport.height) * 0.5f * _cachedScreenHeight);
int maskSortingOrder = Mathf.Clamp(_maskSortingOrder, short.MinValue, short.MaxValue);
if (_maskCanvas.sortingOrder != maskSortingOrder)
{
_maskCanvas.sortingOrder = maskSortingOrder;
}
CalculateViewportPadding(out float horizontalPadding, out float verticalPadding);
bool showVerticalMask = horizontalPadding > 0.5f;
bool showHorizontalMask = verticalPadding > 0.5f;
@ -405,7 +479,7 @@ namespace GeometryTD.CustomComponent
_maskCanvas = maskRoot.GetComponent<Canvas>();
_maskCanvas.renderMode = RenderMode.ScreenSpaceOverlay;
_maskCanvas.overrideSorting = true;
_maskCanvas.sortingOrder = short.MaxValue;
_maskCanvas.sortingOrder = Mathf.Clamp(_maskSortingOrder, short.MinValue, short.MaxValue);
CanvasScaler scaler = maskRoot.GetComponent<CanvasScaler>();
scaler.uiScaleMode = CanvasScaler.ScaleMode.ConstantPixelSize;

View File

@ -1,4 +1,5 @@
using DataTable;
using Definition.Enum;
using Event;
using GameFramework.DataTable;
using GameFramework.Event;
@ -16,6 +17,8 @@ namespace Procedure
private const int DialogChapterDivisor = 1000;
private IDataTable<DRDialog> _dtDialog;
private bool _pendingSceneChange;
private int _pendingSceneId;
public override bool UseNativeDialog => false;
@ -25,6 +28,8 @@ namespace Procedure
AIChatEntryRuntime.EnsureOpen();
GameEntry.Event.Subscribe(StoryChapterEndedEventArgs.EventId, OnStoryChapterEnded);
_pendingSceneChange = false;
_pendingSceneId = 0;
GameEntry.Dialog.Init(InitialChapterId);
GameEntry.Dialog.StartDialog(InitialDialogId);
@ -36,6 +41,21 @@ namespace Procedure
base.OnLeave(procedureOwner, isShutdown);
}
protected override void OnUpdate(IFsm<IProcedureManager> procedureOwner, float elapseSeconds,
float realElapseSeconds)
{
base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds);
if (!_pendingSceneChange)
{
return;
}
_pendingSceneChange = false;
procedureOwner.SetData<VarInt32>("NextSceneId", _pendingSceneId);
ChangeState<ProcedureChangeScene>(procedureOwner);
}
private void OnStoryChapterEnded(object sender, GameEventArgs e)
{
if (!(e is StoryChapterEndedEventArgs args))
@ -54,8 +74,12 @@ namespace Procedure
if (!TryResolveFirstDialogId(nextChapterId, out int nextDialogId))
{
Log.Info("ProcedureMain chapter switch stopped. No dialog found for chapter '{0}'.",
nextChapterId.ToString());
Log.Info(
"ProcedureMain chapter '{0}' ended and no next chapter found. Return to menu scene.",
currentChapterId.ToString());
CloseBgFormIfOpened();
_pendingSceneId = (int)SceneId.Menu;
_pendingSceneChange = true;
return;
}
@ -123,5 +147,19 @@ namespace Procedure
{
return dialogId / DialogChapterDivisor;
}
private static void CloseBgFormIfOpened()
{
if (GameEntry.UI == null)
{
return;
}
UGuiForm bgForm = GameEntry.UI.GetUIForm(UIFormId.BgForm);
if (bgForm != null)
{
GameEntry.UI.CloseUIForm(bgForm.UIForm);
}
}
}
}

View File

@ -70,7 +70,6 @@ namespace Procedure
e.Subscribe(MenuExitEventArgs.EventId, MenuExit);
e.Subscribe(SettingSaveEventArgs.EventId, SettingSave);
_menuFormController = new MenuFormController();
_menuFormController.OpenUI(new MenuFormContext());

View File

@ -8,18 +8,24 @@
using UnityEngine;
using UnityEngine.UI;
using UnityGameFramework.Runtime;
using GeometryTD.CustomComponent;
namespace UI
{
/// <summary>
/// uGUI 界面组辅助器。
/// </summary>
[DefaultExecutionOrder(200)]
public class UGuiGroupHelper : UIGroupHelperBase
{
public const int DepthFactor = 10000;
private int m_Depth = 0;
private Canvas m_CachedCanvas = null;
private RectTransform m_RectTransform = null;
private int m_LastScreenWidth = -1;
private int m_LastScreenHeight = -1;
private Rect m_LastViewport = new Rect(float.MinValue, float.MinValue, float.MinValue, float.MinValue);
/// <summary>
/// 设置界面组深度。
@ -36,6 +42,7 @@ namespace UI
{
m_CachedCanvas = gameObject.GetOrAddComponent<Canvas>();
gameObject.GetOrAddComponent<GraphicRaycaster>();
m_RectTransform = GetComponent<RectTransform>();
}
private void Start()
@ -43,11 +50,94 @@ namespace UI
m_CachedCanvas.overrideSorting = true;
m_CachedCanvas.sortingOrder = DepthFactor * m_Depth;
RectTransform transform = GetComponent<RectTransform>();
transform.anchorMin = Vector2.zero;
transform.anchorMax = Vector2.one;
transform.anchoredPosition = Vector2.zero;
transform.sizeDelta = Vector2.zero;
if (m_RectTransform == null)
{
return;
}
m_RectTransform.anchorMin = Vector2.zero;
m_RectTransform.anchorMax = Vector2.one;
m_RectTransform.pivot = new Vector2(0.5f, 0.5f);
m_RectTransform.anchoredPosition = Vector2.zero;
m_RectTransform.sizeDelta = Vector2.zero;
ApplyViewportClip(true);
}
private void LateUpdate()
{
ApplyViewportClip(false);
}
private void ApplyViewportClip(bool force)
{
if (m_RectTransform == null)
{
return;
}
int screenWidth = Screen.width;
int screenHeight = Screen.height;
Rect viewport = ResolveViewportRect();
if (!force
&& screenWidth == m_LastScreenWidth
&& screenHeight == m_LastScreenHeight
&& Mathf.Approximately(viewport.x, m_LastViewport.x)
&& Mathf.Approximately(viewport.y, m_LastViewport.y)
&& Mathf.Approximately(viewport.width, m_LastViewport.width)
&& Mathf.Approximately(viewport.height, m_LastViewport.height))
{
return;
}
m_LastScreenWidth = screenWidth;
m_LastScreenHeight = screenHeight;
m_LastViewport = viewport;
if (screenWidth <= 0 || screenHeight <= 0)
{
return;
}
float horizontalPadding = Mathf.Max(0f, (1f - viewport.width) * 0.5f * screenWidth);
float verticalPadding = Mathf.Max(0f, (1f - viewport.height) * 0.5f * screenHeight);
float canvasScale = ResolveCanvasScaleFactor();
float horizontalPaddingInCanvasUnit = horizontalPadding / canvasScale;
float verticalPaddingInCanvasUnit = verticalPadding / canvasScale;
m_RectTransform.offsetMin = new Vector2(horizontalPaddingInCanvasUnit, verticalPaddingInCanvasUnit);
m_RectTransform.offsetMax = new Vector2(-horizontalPaddingInCanvasUnit, -verticalPaddingInCanvasUnit);
}
private Rect ResolveViewportRect()
{
if (ResolutionAdapterComponent.TryGetTargetViewport(out Rect adapterViewport))
{
return adapterViewport;
}
Camera camera = m_CachedCanvas != null ? m_CachedCanvas.worldCamera : null;
if (camera == null && m_CachedCanvas != null && m_CachedCanvas.rootCanvas != null)
{
camera = m_CachedCanvas.rootCanvas.worldCamera;
}
if (camera == null && GameEntry.Scene != null)
{
camera = GameEntry.Scene.MainCamera;
}
if (camera == null)
{
camera = Camera.main;
}
return camera != null ? camera.rect : new Rect(0f, 0f, 1f, 1f);
}
private float ResolveCanvasScaleFactor()
{
Canvas rootCanvas = m_CachedCanvas != null ? m_CachedCanvas.rootCanvas : null;
float scale = rootCanvas != null ? rootCanvas.scaleFactor : (m_CachedCanvas != null ? m_CachedCanvas.scaleFactor : 1f);
return scale > 0.0001f ? scale : 1f;
}
}
}

View File

@ -49,9 +49,7 @@ namespace UI
{
"Other",
"Subtitle",
"Time",
"LiangSiCheng",
"LinHuiYin"
"Time"
};
public override void StartDialog(DialogFormContext context)
@ -130,6 +128,13 @@ namespace UI
return;
}
if (!HasSpeakerPortrait(_context.SpeakerId))
{
ClearSpeakerState();
ApplySpeakerLayout(false, false, true);
return;
}
bool isRightSpeaker = context.Direction > 0;
if (isRightSpeaker)
{
@ -381,13 +386,21 @@ namespace UI
int requestVersion = isRightSpeaker ? ++_rightPortraitRequestVersion : ++_leftPortraitRequestVersion;
if (string.IsNullOrWhiteSpace(speakerId) || NonPortraitSpeakerIds.Contains(speakerId))
{
portraitImage.sprite = null;
return;
}
int portraitCount = ResolveAvailablePortraitCount(speakerId);
if (portraitCount <= 0)
{
portraitImage.sprite = null;
return;
}
string portraitAssetName = $"Characters/{speakerId}-{ResolvePortraitIndex(speakerId, lineId, portraitCount)}.png";
if (GameEntry.SpriteCache == null)
{
portraitImage.sprite = null;
return;
}
@ -400,10 +413,7 @@ namespace UI
return;
}
if (sprite != null)
{
_rightImage.sprite = sprite;
}
_rightImage.sprite = sprite;
return;
}
@ -412,10 +422,7 @@ namespace UI
return;
}
if (sprite != null)
{
_leftImage.sprite = sprite;
}
_leftImage.sprite = sprite;
});
}
@ -449,6 +456,11 @@ namespace UI
return GameEntry.Dialog.GetSpeakerPortraitCount(speakerId);
}
private static bool HasSpeakerPortrait(string speakerId)
{
return ResolveAvailablePortraitCount(speakerId) > 0;
}
private static bool IsHumanSpeaker(string speakerId)
{
if (string.IsNullOrWhiteSpace(speakerId))

View File

@ -9,6 +9,8 @@ namespace UI
{
public class SettingForm : UGuiForm
{
private static readonly string[] NavigateButtonNames = { "SoundButton", "GameButton", "ScreenButton" };
[SerializeField] private Transform _navigate;
[SerializeField] private Image[] _navigateButtonImages;
@ -95,20 +97,58 @@ namespace UI
public void OnNavigateButtonClick(int index)
{
RefreshNavigateButtonImages();
if (_navigateButtonImages == null || _navigateButtonImages.Length == 0)
{
Log.Error("Navigate button images are invalid.");
return;
}
if (index < 0 || index >= _navigateButtonImages.Length)
{
Log.Error("NavigateButtonClick index is out of range.");
return;
}
if (_navigateButtonImages[0] == null)
_navigateButtonImages[0] = _navigate.Find("SoundButton")?.GetComponent<Image>();
for (int i = 0; i < _navigateButtonImages.Length; i++)
{
if (_navigateButtonImages[i] == null)
{
continue;
}
_navigateButtonImages[i].enabled = i == index;
}
}
private void RefreshNavigateButtonImages()
{
if (_navigate == null)
{
Log.Error("Navigate transform is invalid.");
return;
}
if (_navigateButtonImages == null || _navigateButtonImages.Length != NavigateButtonNames.Length)
{
_navigateButtonImages = new Image[NavigateButtonNames.Length];
}
for (int i = 0; i < NavigateButtonNames.Length; i++)
{
var button = _navigate.Find(NavigateButtonNames[i]);
if (button == null)
{
Log.Error($"Can not find navigate button '{NavigateButtonNames[i]}'.");
_navigateButtonImages[i] = null;
continue;
}
_navigateButtonImages[i] = button.GetComponent<Image>();
}
}
public void OnReturnButtonClick()
{
var dialogParams = new DialogParams

View File

@ -10,9 +10,9 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b2f756304e6e46b48c7cabf5887971fc, type: 3}
m_Name: ChangeBGM3001
m_Name: ChangeBGM2005
m_EditorClassIdentifier:
_enabled: 1
_triggerType: 0
_triggerId: 3001
_triggerId: 2005
_bgmId: 6

View File

@ -10,9 +10,9 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b2f756304e6e46b48c7cabf5887971fc, type: 3}
m_Name: ChangeBGM4001
m_Name: ChangeBGM3005
m_EditorClassIdentifier:
_enabled: 1
_triggerType: 0
_triggerId: 4001
_triggerId: 3005
_bgmId: 7

View File

@ -1,5 +1,80 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &770334776125365868
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3418981803891776273}
- component: {fileID: 502501915552556569}
- component: {fileID: 6192605859570180420}
m_Layer: 5
m_Name: Bg
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3418981803891776273
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 770334776125365868}
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: 8586477984824025089}
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!222 &502501915552556569
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 770334776125365868}
m_CullTransparentMesh: 1
--- !u!114 &6192605859570180420
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 770334776125365868}
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: c48769a908d6a474bbf52ac1ad195815, 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 &3226951631430642165
GameObject:
m_ObjectHideFlags: 0
@ -95,6 +170,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3418981803891776273}
- {fileID: 2026090443063703514}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -67,7 +67,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u6E38\u620F\u8BBE\u5B9A\uFF1A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -546,7 +546,7 @@ MonoBehaviour:
m_MinValue: 0
m_MaxValue: 5
m_WholeNumbers: 1
m_Value: 0
m_Value: 3
m_OnValueChanged:
m_PersistentCalls:
m_Calls:
@ -723,7 +723,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u753B\u9762\u95EA\u5149"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -996,8 +996,8 @@ MonoBehaviour:
m_Calls: []
m_text: "\u80CC\u666F\u97F3\u4E50"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
m_fontAsset: {fileID: 11400000, guid: a84959718d612514583680c96ee8271a, type: 2}
m_sharedMaterial: {fileID: 7425184593944002063, guid: a84959718d612514583680c96ee8271a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -1888,7 +1888,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u7A97\u53E3\u6A21\u5F0F"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -2288,8 +2288,8 @@ MonoBehaviour:
m_Calls: []
m_text: "\u8BBE\u5B9A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
m_fontAsset: {fileID: 11400000, guid: a84959718d612514583680c96ee8271a, type: 2}
m_sharedMaterial: {fileID: 7425184593944002063, guid: a84959718d612514583680c96ee8271a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -2498,7 +2498,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u753B\u9762\u5206\u8FA8\u7387"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -2633,7 +2633,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u9707\u52A8"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -2843,7 +2843,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u5BF9\u8BDD\u64AD\u653E\u901F\u5EA6"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -3089,7 +3089,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u6297\u952F\u9F7F"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -3264,8 +3264,8 @@ RectTransform:
m_Children: []
m_Father: {fileID: 5223845312037397119}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMin: {x: 0.6, y: 0}
m_AnchorMax: {x: 0.6, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -3540,7 +3540,7 @@ RectTransform:
m_Father: {fileID: 2038093641757105527}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0.6, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@ -3565,7 +3565,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
m_Color: {r: 0.73333335, g: 0.43529412, b: 0.23921569, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@ -3799,8 +3799,8 @@ MonoBehaviour:
m_Calls: []
m_text: "\u97F3\u6548\u8BBE\u5B9A\uFF1A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
m_fontAsset: {fileID: 11400000, guid: a84959718d612514583680c96ee8271a, type: 2}
m_sharedMaterial: {fileID: 7425184593944002063, guid: a84959718d612514583680c96ee8271a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -3934,7 +3934,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u5C4F\u5E55\u8BBE\u5B9A\uFF1A"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -4144,7 +4144,7 @@ MonoBehaviour:
m_Calls: []
m_text: "\u5782\u76F4\u540C\u6B65"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_fontAsset: {fileID: 0}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
m_fontSharedMaterials: []
@ -4404,8 +4404,8 @@ MonoBehaviour:
m_Calls: []
m_text: "\u97F3\u6548"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b, type: 2}
m_sharedMaterial: {fileID: -1730358588487011198, guid: f04cfd53e22bdc14b808906f4d98571b,
m_fontAsset: {fileID: 11400000, guid: a84959718d612514583680c96ee8271a, type: 2}
m_sharedMaterial: {fileID: 7425184593944002063, guid: a84959718d612514583680c96ee8271a,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
@ -4821,7 +4821,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
_navigate: {fileID: 170566960292460696}
_navigateButtonImages:
- {fileID: 3514393531702856020}
- {fileID: 3309221543296022833}
- {fileID: 3121828555316335400}
- {fileID: 2401058979395375169}
_bgmVolumeSlider: {fileID: 2467379101029875782}
@ -5108,7 +5108,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
m_Color: {r: 0.73333335, g: 0.43529412, b: 0.23921569, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
@ -5771,6 +5771,11 @@ PrefabInstance:
propertyPath: _showTexts.Array.data[2]
value: "\u7A97\u53E3"
objectReference: {fileID: 0}
- target: {fileID: 8504571007063652911, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 8689142225738196505, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_Name
@ -6421,6 +6426,11 @@ PrefabInstance:
propertyPath: _showTexts.Array.data[2]
value: "\u5FEB"
objectReference: {fileID: 0}
- target: {fileID: 8504571007063652911, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 8689142225738196505, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_Name
@ -6991,6 +7001,11 @@ PrefabInstance:
propertyPath: _showTexts.Array.data[1]
value: "\u5F00"
objectReference: {fileID: 0}
- target: {fileID: 8504571007063652911, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 8689142225738196505, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_Name
@ -7217,6 +7232,11 @@ PrefabInstance:
propertyPath: _showTexts.Array.data[1]
value: "\u5F00"
objectReference: {fileID: 0}
- target: {fileID: 8504571007063652911, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 8689142225738196505, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_Name
@ -7872,6 +7892,11 @@ PrefabInstance:
propertyPath: _showTexts.Array.data[1]
value: "\u5F00"
objectReference: {fileID: 0}
- target: {fileID: 8504571007063652911, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 8689142225738196505, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_Name
@ -8098,6 +8123,11 @@ PrefabInstance:
propertyPath: _showTexts.Array.data[1]
value: "\u5F00"
objectReference: {fileID: 0}
- target: {fileID: 8504571007063652911, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 8689142225738196505, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_Name
@ -8773,6 +8803,11 @@ PrefabInstance:
propertyPath: _showTexts.Array.data[5]
value: 2560x1600
objectReference: {fileID: 0}
- target: {fileID: 8504571007063652911, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 8689142225738196505, guid: 7f72e35a938b99d478b47012eacff084,
type: 3}
propertyPath: m_Name
@ -8949,6 +8984,11 @@ PrefabInstance:
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[1].m_Arguments.m_ObjectArgumentAssemblyTypeName
value: UnityEngine.Object, UnityEngine
objectReference: {fileID: 0}
- target: {fileID: 3575534281430294941, guid: b3f2a3962650de54a8acd104167be5f6,
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 0}
- target: {fileID: 5021112405580821667, guid: b3f2a3962650de54a8acd104167be5f6,
type: 3}
propertyPath: m_fontSize
@ -8958,8 +8998,7 @@ PrefabInstance:
type: 3}
propertyPath: m_fontAsset
value:
objectReference: {fileID: 11400000, guid: f04cfd53e22bdc14b808906f4d98571b,
type: 2}
objectReference: {fileID: 0}
- target: {fileID: 5021112405580821667, guid: b3f2a3962650de54a8acd104167be5f6,
type: 3}
propertyPath: m_fontColor.b

View File

@ -722,7 +722,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 11499388, guid: adb3eb1c35fcff14f89fba7b05c9d71c, type: 3}
propertyPath: m_EditorResourceMode
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11499388, guid: adb3eb1c35fcff14f89fba7b05c9d71c, type: 3}
propertyPath: m_JsonHelperTypeName
@ -1276,7 +1276,9 @@ MonoBehaviour:
_referenceResolution: {x: 2048, y: 1152}
_adaptUiCanvasToViewport: 1
_enableBlackMask: 1
_maskSortingOrder: 32767
_autoCollectSceneCanvases: 1
_canvasProbeInterval: 0.2
_uiRoots:
- {fileID: 934951765}
--- !u!1 &1852670052

View File

@ -8,9 +8,6 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Launcher.unity
guid: 9d2d51bf0fc3dfc42908e3a7a64f4feb
- enabled: 1
path: Assets/GameMain/Scenes/GameplayA.unity
guid: 639c98846a76d624cbac99ade4a1e1a3
- enabled: 1
path: Assets/GameMain/Scenes/Menu.unity
guid: 5ae1171af6ab9b646b7a915598c657f1

View File

@ -831,9 +831,12 @@ PlayerSettings:
tvOS: DOTWEEN
additionalCompilerArguments: {}
platformArchitecture: {}
scriptingBackend: {}
il2cppCompilerConfiguration: {}
il2cppCodeGeneration: {}
scriptingBackend:
Standalone: 1
il2cppCompilerConfiguration:
Standalone: 1
il2cppCodeGeneration:
Standalone: 0
managedStrippingLevel:
EmbeddedLinux: 1
GameCoreScarlett: 1
@ -843,6 +846,7 @@ PlayerSettings:
PS5: 1
QNX: 1
Stadia: 1
Standalone: 4
VisionOS: 1
WebGL: 1
Windows Store Apps: 1

View File

@ -13,7 +13,7 @@
100300001 Other 旁白 0 你是新入将作监的画图令史,今日正是你当值的第一天。 None 1.00300001 1003.00001
100300002 LiJie 李诫 1 你便是新任的画图令史? None 1.00300002 1003.00002
100300003 LiJie 李诫 1 来得正好。 None 1.00300003 1003.00003
100300004 Player 玩家 0 属下正是,见过李主簿。 None 1.00300004 1003.00004
100300004 Player 0 属下正是,见过李主簿。 None 1.00300004 1003.00004
100300005 LiJie 李诫 1 方才工地塌架,你也有所耳闻。 None 1.00300005 1003.00005
100300006 LiJie 李诫 1 这工头竟拿柳木来替代楠木,企图瞒天过海,结果却落得如此下场, None 1.00300006 1003.00006
100300007 LiJie 李诫 1 幸好方才无人员伤亡,才让这工头躲过一劫。 None 1.00300007 1003.00007
@ -21,11 +21,11 @@
100300009 LiJie 李诫 1 而我们的职责,就是尽早发现这般祸患,防止酿成更大的问题。 None 1.00300009 1003.00009
100300010 LiJie 李诫 1 无规矩,则屋不立;无准绳,则工不正。 None 1.0030001 1003.0001
100300011 LiJie 李诫 1 你也要牢记。 None 1.00300011 1003.00011
100300012 Player 玩家 0 是,李主簿。 None 1.00300012 1003.00012
100300012 Player 0 是,李主簿。 None 1.00300012 1003.00012
100300013 LiJie 李诫 1 你既为画图令史,第一要务便是识木、辨材、熟用器具。 None 1.00300013 1003.00013
100300014 LiJie 李诫 1 现在随我去库房,我来带你认识水准、绳墨、曲尺、方斗这些营造根本之器。 None 1.00300014 1003.00014
100300015 LiJie 李诫 1 待你熟习测量与料例,我便亲自带你到工地监工核验,杜绝此类祸事再发。 None 1.00300015 1003.00015
100300016 Player 玩家 0 属下遵命。 None 1.00300016 1003.00016
100300016 Player 0 属下遵命。 None 1.00300016 1003.00016
100300017 Other 旁白 0 你正式踏入将作监,一段以法度正营造的历程,自此开始。 None 1.00300017 1003.00017
100400001 LiJie 李诫 1 这里是库房,存放着营造时用到的所有工具。 None 1.00400001 1004.00001
100400002 Subtitle 字幕 0 檀木质地,刻度以朱砂标注,一端为方、一端为折,刻有 “材份” 刻度。 EntityCue 1.00400002 1004.00002
@ -36,7 +36,7 @@
100400007 Subtitle 字幕 0 方斗为楠木所制,斗身刻 “将作监” 款识,墨仓密封,绳墨以生丝浸松烟墨制成,耐磨不褪。 EntityCueClose 1.00400007 1004.00007
100400008 LiJie 李诫 1 营造之事,“直” 为要。 None 1.00400008 1004.00008
100400009 LiJie 李诫 1 工头偷工减料,常以歪木充数,若以绳墨弹线,歪直立现,断无蒙混可能。 None 1.00400009 1004.00009
100400010 Player 玩家 0 那这是何物? EntityCue 1.0040001 1004.0001
100400010 Player 0 那这是何物? EntityCue 1.0040001 1004.0001
100400011 LiJie 李诫 1 这是水准,也名 “水尺”,测地势高低、屋基平正之用。 None 1.00400011 1004.00011
100400012 Subtitle 字幕 0 青铜制的水准器,形制为长槽,内盛水,槽侧刻刻度,槽端有通气孔,是宋代成熟的水准测量工具。 None 1.00400012 1004.00012
100400013 LiJie 李诫 1 汴京地势多洼,营建房宇先以水准定基址 EntityCueClose 1.00400013 1004.00013
@ -48,14 +48,14 @@
100400019 LiJie 李诫 1 这些工具,是规矩的具象,料例是制度的准绳,二者相合,才能堵贪弊、正营造。 None 1.00400019 1004.00019
100400020 LiJie 李诫 1 今日先熟其形、知其用。 None 1.0040002 1004.0002
100400021 LiJie 李诫 1 明日随我去工地,以器验工,看看那些贪弊工头还能藏多少猫腻。 None 1.00400021 1004.00021
100400022 Player 玩家 0 是,李主簿。 None 1.00400022 1004.00022
100400022 Player 0 是,李主簿。 None 1.00400022 1004.00022
100500001 LiJie 李诫 0 这工地是谁负责! None 1.00500001 1005.00001
100500002 GongTou 工头 1 李主簿,您怎么又来了… None 1.00500002 1005.00002
100500003 LiJie 李诫 0 我不来,怎知你们又在如何糊弄? None 1.00500003 1005.00003
100500004 LiJie 李诫 0 今日来便是要验工。 None 1.00500004 1005.00004
100500005 LiJie 李诫 0 你且取来昨日库房的曲尺、绳墨、水准,逐一核验梁柱基址。 None 1.00500005 1005.00005
100500006 Player 玩家 0 是,李主簿。 None 1.00500006 1005.00006
100500007 Player 玩家 0 李主簿,这根立柱偏斜三分,枋木榫口尺寸不符,根本无法咬合! None 1.00500007 1005.00007
100500006 Player 0 是,李主簿。 None 1.00500006 1005.00006
100500007 Player 0 李主簿,这根立柱偏斜三分,枋木榫口尺寸不符,根本无法咬合! None 1.00500007 1005.00007
100500008 GongTou 工头 1 这… None 1.00500008 1005.00008
100500009 GongTou 工头 1 … None 1.00500009 1005.00009
100500010 GongTou 工头 1 这只是小偏差,匠人凭手眼便可调整… None 1.0050001 1005.0001
@ -67,8 +67,8 @@
100500016 LiJie 李诫 0 今日我便教你按材份制放样、按标准榫卯拼装。 None 1.00500016 1005.00016
100500017 LiJie 李诫 0 先定材份,再画榫头长短、卯眼深浅,每一分都有定数。 None 1.00500017 1005.00017
100500018 LiJie 李诫 0 你来上手试试。 None 1.00500018 1005.00018
100600001 Player 玩家 0 原来如此… None 1.00600001 1006.00001
100600002 Player 玩家 0 对齐、卡紧、压实,竟如此稳固! None 1.00600002 1006.00002
100600001 Player 0 原来如此… None 1.00600001 1006.00001
100600002 Player 0 对齐、卡紧、压实,竟如此稳固! None 1.00600002 1006.00002
100600003 LiJie 李诫 0 这便是法度之力。 None 1.00600003 1006.00003
100600004 LiJie 李诫 0 构件按图预制,到工地只需精准拼装,既省工,又让贪弊者无可乘之机。 None 1.00600004 1006.00004
100600005 LiJie 李诫 0 往后所有构件,必须先以尺量、以图定、以榫卯合,不合格一律不准上架! None 1.00600005 1006.00005
@ -103,7 +103,7 @@
200200024 LiJie 李诫 0 都料匠,你敢应否? None 2.00200024 2002.00024
200200025 LaoDu 老都料匠 1 有何不敢! None 2.00200025 2002.00025
200200026 LaoDu 老都料匠 1 老身的手艺,还怕比不过一纸刻度? None 2.00200026 2002.00026
200200027 Player 玩家 0 属下必不负李丞所托! None 2.00200027 2002.00027
200200027 Player 0 属下必不负李丞所托! None 2.00200027 2002.00027
200200028 Other 旁白 0 一场关乎 “古法” 与 “新法” 的对决,就此展开; None 2.00200028 2002.00028
200200029 Other 旁白 0 而你手中的曲尺,不再只是验工的工具,更是书写营造法度的笔。 None 2.00200029 2002.00029
200300002 LiJie 李诫 0 今日便教你材份制的根本,这是重修《营造法式》的核心,也是拼出标准斗拱的关键。 None 2.00300002 2003.00002
@ -113,25 +113,25 @@
200300006 LiJie 李诫 0 殿宇大小、斗拱高低、榫卯长短,全由这八等材定尺,再无凭口传、靠手感的乱象。 None 2.00300006 2003.00006
200300007 LaoDu 老都料匠 1 不过是把口传的尺寸刻在木上,换个说法罢了,拼斗拱还得看手上功夫! None 2.00300007 2003.00007
200300008 LiJie 李诫 0 你且用这曲尺,量一量这五铺作斗拱的栌斗。 None 2.00300008 2003.00008
200300009 Player 玩家 0 回李丞,栌斗方三十二分,高二十分! None 2.00300009 2003.00009
200300009 Player 0 回李丞,栌斗方三十二分,高二十分! None 2.00300009 2003.00009
200300010 LiJie 李诫 0 没错。五铺作斗拱的华拱、耍头、罗汉枋,每一件构件、每一处榫卯,都有材份定数,半分不差。 None 2.0030001 2003.0001
200300011 LiJie 李诫 0 古法拼斗拱,榫头凭砍、卯眼凭凿,松紧全靠凑;按材份制, None 2.00300011 2003.00011
200300012 LiJie 李诫 0 榫头长 12 分、宽 6 分,卯眼深 10 分、宽 6 分,严丝合缝。 None 2.00300012 2003.00012
200300013 LiJie 李诫 0 先弹中线定基准,再按材份画榫卯轮廓,异地预制的构件,运到工地也能精准拼装。 None 2.00300013 2003.00013
200300014 Player 玩家 0 按尺标记,尺寸丝毫不差,原来榫卯可以如此精准! None 2.00300014 2003.00014
200300014 Player 0 按尺标记,尺寸丝毫不差,原来榫卯可以如此精准! None 2.00300014 2003.00014
200300015 LiJie 李诫 0 都料匠,你四十年手艺,可曾让百组斗拱的榫卯分毫不差? None 2.00300015 2003.00015
200300016 LiJie 李诫 0 可曾实现构件异地预制、现场速拼? None 2.00300016 2003.00016
200300017 LaoDu 老都料匠 1 …工地见真章! None 2.00300017 2003.00017
200300018 LaoDu 老都料匠 1 光说不练不算数! None 2.00300018 2003.00018
200300019 LiJie 李诫 0 你已掌握材份测量与榫卯标记,明日随我去五王邸工地,用这套法度, None 2.00300019 2003.00019
200300020 LiJie 李诫 0 拼出能服天下匠人的五铺作斗拱! None 2.0030002 2003.0002
200300021 Player 玩家 0 属下遵命! None 2.00300021 2003.00021
200300021 Player 0 属下遵命! None 2.00300021 2003.00021
200300022 Other 旁白 0 你终于懂了材份制的真谛,标准化的营造法度,即将在工地接受最严苛的检验。 None 2.00300022 2003.00022
200400001 LiJie 李诫 0 今日对决,只看三点:榫卯严合、拼装速度、构件通用,输者便认材份制为营造正途! None 2.00400001 2004.00001
200400002 LaoDu 老都料匠 1 老夫造了一辈子斗拱,闭眼都能拼! None 2.00400002 2004.00002
200400003 LaoDu 老都料匠 1 哪用得着什么刻度分份! None 2.00400003 2004.00003
200400004 LiJie 李诫 0 该你了,按材份制,一步一验,精准拼装。 None 2.00400004 2004.00004
200500001 Player 玩家 0 李丞,拼装完毕! None 2.00500001 2005.00001
200500001 Player 0 李丞,拼装完毕! None 2.00500001 2005.00001
200500002 LiJie 李诫 0 都看好了! None 2.00500002 2005.00002
200500003 LiJie 李诫 0 这就是口传手感与材份法度的差别! None 2.00500003 2005.00003
200500004 LiJie 李诫 0 按材份制预制的构件,异地生产、现场互换,百组斗拱皆可通用,省工三倍, None 2.00500004 2005.00004
@ -145,7 +145,7 @@
200500012 LaoDu 老都料匠 1 李官人,是老夫守旧迂腐了! None 2.00500012 2005.00012
200500013 LaoDu 老都料匠 1 这材份制,才是能护营造、利万民的真法度! None 2.00500013 2005.00013
200500014 LaoDu 老都料匠 1 往后,老夫愿按法式规矩做工! None 2.00500014 2005.00014
200500015 Player 玩家 0 材份定规,榫卯立心,营造之法,终于有了统一准绳! None 2.00500015 2005.00015
200500015 Player 0 材份定规,榫卯立心,营造之法,终于有了统一准绳! None 2.00500015 2005.00015
200500016 Other 旁白 0 一场对决,折服老匠,更定下了天下营造的模数根基;标准化的营造之路,自此彻底走通。 None 2.00500016 2005.00016
200600001 LaoDu 老都料匠 1 李丞,今日工地实测,让老身彻悟! None 2.00600001 2006.00001
200600002 LaoDu 老都料匠 1 口传终有尽,法度传千年,这材份制,老身服了! None 2.00600002 2006.00002
@ -154,7 +154,7 @@
200600005 LiJie 李诫 0 古法手艺是根,标准法度是纲,纲举目张,手艺才能代代不失。 None 2.00600005 2006.00005
200600006 LiJie 李诫 0 今日五铺作斗拱的材份模数、榫卯尺寸、拼装流程,皆是重修《营造法式》的核心实证。 None 2.00600006 2006.00006
200600007 LiJie 李诫 0 你今日以材份制拼斗拱,实测精准、榫卯稳固,足堪担当绘图重任。 None 2.00600007 2006.00007
200600008 Player 玩家 0 回李丞,五铺作斗拱材份、榫卯数据已全部归档,可作为官造标准! None 2.00600008 2006.00008
200600008 Player 0 回李丞,五铺作斗拱材份、榫卯数据已全部归档,可作为官造标准! None 2.00600008 2006.00008
200600009 LiJie 李诫 0 好! None 2.00600009 2006.00009
200600010 LiJie 李诫 0 自今日起,将作监所有大木作构件,皆按此标准备料、放样、拼装;我会奏报朝廷, None 2.0060001 2006.0001
200600011 LiJie 李诫 0 将材份制、榫卯标准、斗拱制度,逐一写入新修《营造法式》。 None 2.00600011 2006.00011
@ -182,8 +182,8 @@
300200015 LiJie 李诫 0 你随我五载,熟材份、通榫卯、验过工地、拼过斗拱。 None 3.00200015 3002.00015
300200016 LiJie 李诫 0 今日起,你便是图样编修的主事画图吏,与我一同,将这大宋营造的规矩, None 3.00200016 3002.00016
300200017 LiJie 李诫 0 一笔一画绘在纸上,立为天下准绳! None 3.00200017 3002.00017
300200018 Player 玩家 0 属下遵命! None 3.00200018 3002.00018
300200019 Player 玩家 0 定以材份为尺,以笔墨为工,绘精准图样,立万世法度,不负李丞所托! None 3.00200019 3002.00019
300200018 Player 0 属下遵命! None 3.00200018 3002.00018
300200019 Player 0 定以材份为尺,以笔墨为工,绘精准图样,立万世法度,不负李丞所托! None 3.00200019 3002.00019
300200020 LaoDu 老都料匠 1 李丞,老身虽愚钝,却也知这图样的紧要。 None 3.0020002 3002.0002
300200021 LaoDu 老都料匠 1 我手中有历代匠人传下的营造手谱,虽无规整刻度, None 3.00200021 3002.00021
300200022 LaoDu 老都料匠 1 却记了太庙、朱雀门的形制要诀,愿献出来,为编修图样尽一份力! None 3.00200022 3002.00022
@ -211,8 +211,8 @@
300300019 LiJie 李诫 0 先画平图,以这十字墨线为基准,栌斗居其中,先定其材份尺寸,再标斗拱间距。 None 3.00300019 3003.00019
300300020 LaoDu 老都料匠 1 大人,这五铺作斗拱的华拱,与罗汉枋交接处,榫头需稍收一分, None 3.0030002 3003.0002
300300021 LaoDu 老都料匠 1 不然拼装时易卡壳,老身造了几十年,这一点错不了,绘图时莫要漏了。 None 3.00300021 3003.00021
300300022 Player 玩家 0 属下记下了:三准为纲,三图为要,材份定数,形制合规,更要融老匠之法, None 3.00300022 3003.00022
300300023 Player 玩家 0 让图样既准法度,又合工用。 None 3.00300023 3003.00023
300300022 Player 0 属下记下了:三准为纲,三图为要,材份定数,形制合规,更要融老匠之法, None 3.00300022 3003.00022
300300023 Player 0 让图样既准法度,又合工用。 None 3.00300023 3003.00023
300300024 LiJie 李诫 0 不错,制图非为纸上定规,实为工地施工,徒有刻度而不合工用,也是虚图。 None 3.00300024 3003.00024
300300025 LiJie 李诫 0 今日你先定平图的基准与材份标注,我与都料匠在旁看顾,有疑便问,务必做到分毫无差。 None 3.00300025 3003.00025
300300026 Other 旁白 0 绘图室里,墨线为骨,材份为尺,朱砂为色。 None 3.00300026 3003.00026
@ -226,13 +226,13 @@
300400005 LaoDu 老都料匠 1 寿康殿偏轩我早年参与过修葺,面阔三间约一丈八尺,进深两间一丈二尺, None 3.00400005 3004.00005
300400006 LaoDu 老都料匠 1 原是小式殿宇,该用六等材,五铺作斗拱便够,只是当年无图样,全凭匠人手眼, None 3.00400006 3004.00006
300400007 LaoDu 老都料匠 1 如今按新法制图,正好见真章! None 3.00400007 3004.00007
300400008 Player 玩家 0 属下遵命! None 3.00400008 3004.00008
300400008 Player 0 属下遵命! None 3.00400008 3004.00008
300400009 LiJie 李诫 0 侧脚柱是官造定规,檐柱微倾二分,内柱微倾一分,既防屋宇侧倾,又显形制层次, None 3.00400009 3004.00009
300400010 LiJie 李诫 0 绘时柱脚需向内收,不可画成直柱! None 3.0040001 3004.0001
300400011 LaoDu 老都料匠 1 画图吏,偏轩是休憩之所,屋架举折不可太陡,不然檐角上翘过甚, None 3.00400011 3004.00011
300400012 LaoDu 老都料匠 1 失了精巧;梁枋与斗拱交接处,榫头需短三分,六等材料细,榫头过长易折。 None 3.00400012 3004.00012
300400013 Player 玩家 0 依材份定尺,按法度绘图,竟真能让纸上笔墨,化作宫中轩宇的模样, None 3.00400013 3004.00013
300400014 Player 玩家 0 连侧脚、举折这些细节,都分毫不差! None 3.00400014 3004.00014
300400013 Player 0 依材份定尺,按法度绘图,竟真能让纸上笔墨,化作宫中轩宇的模样, None 3.00400013 3004.00013
300400014 Player 0 连侧脚、举折这些细节,都分毫不差! None 3.00400014 3004.00014
300400015 LiJie 李诫 0 这便是实战制图的要义! None 3.00400015 3004.00015
300400016 LiJie 李诫 0 制图非为纸上好看,实为工地施工,既要合官造法度,又要贴施工实理, None 3.00400016 3004.00016
300400017 LiJie 李诫 0 你今日将材份制、老匠经验融于一图,才算真正掌了官式制图的门道! None 3.00400017 3004.00017
@ -249,10 +249,10 @@
300500002 LiJie 李诫 0 凡下料、拼装、立架,分毫皆按图中材份定数,老都料匠督工,画图吏验尺, None 3.00500002 3005.00002
300500003 LiJie 李诫 0 敢有私改尺寸、克扣物料者,按律处置! None 3.00500003 3005.00003
300500004 LaoDu 老都料匠 1 侧脚柱,六等材制,柱身微倾二分,尺寸合度! None 3.00500004 3005.00004
300500005 Player 玩家 0 李丞,五铺作斗拱构件,榫头长 6 分、卯眼深 5 分,皆按六等材定数, None 3.00500005 3005.00005
300500006 Player 玩家 0 榫卯严合,可拼装! None 3.00500006 3005.00006
300500007 Player 玩家 0 料例皆按图样定数,每一根木料、每一组构件都有标注,少一分一毫,皆可查对, None 3.00500007 3005.00007
300500008 Player 玩家 0 休要存贪念! None 3.00500008 3005.00008
300500005 Player 0 李丞,五铺作斗拱构件,榫头长 6 分、卯眼深 5 分,皆按六等材定数, None 3.00500005 3005.00005
300500006 Player 0 榫卯严合,可拼装! None 3.00500006 3005.00006
300500007 Player 0 料例皆按图样定数,每一根木料、每一组构件都有标注,少一分一毫,皆可查对, None 3.00500007 3005.00007
300500008 Player 0 休要存贪念! None 3.00500008 3005.00008
300500009 GongTou 工头 1 不敢不敢,画图吏明察,小人绝不敢乱来! None 3.00500009 3005.00009
300500010 LaoDu 老都料匠 1 按图施工,就是省心! None 3.0050001 3005.0001
300500011 LaoDu 老都料匠 1 往日拼斗拱,少则半日,多则一日,如今按图对榫,一刻便成,还无半分偏差, None 3.00500011 3005.00011
@ -263,9 +263,9 @@
300500016 LaoDu 老都料匠 1 老身活了大半辈子,今日才知,营造之事,有图有法,方能事半功倍。 None 3.00500016 3005.00016
300500017 LaoDu 老都料匠 1 这偏轩的构架,比当年无图营造时,牢固数倍,模样也更周正,往后我等匠人, None 3.00500017 3005.00017
300500018 LaoDu 老都料匠 1 必奉图样为圭臬! None 3.00500018 3005.00018
300500019 Player 玩家 0 材份定尺,图样定形,法立则工正,工正则屋固! None 3.00500019 3005.00019
300500020 Player 玩家 0 这寿康殿偏轩,便是新法营造的明证,往后天下营造,皆依此例, None 3.0050002 3005.0002
300500021 Player 玩家 0 便再无无规之乱、贪弊之害! None 3.00500021 3005.00021
300500019 Player 0 材份定尺,图样定形,法立则工正,工正则屋固! None 3.00500019 3005.00019
300500020 Player 0 这寿康殿偏轩,便是新法营造的明证,往后天下营造,皆依此例, None 3.0050002 3005.0002
300500021 Player 0 便再无无规之乱、贪弊之害! None 3.00500021 3005.00021
300500022 LiJie 李诫 0 寿康殿偏轩大木作功成,后续瓦作、小木作,皆依图样施工! None 3.00500022 3005.00022
300500023 LiJie 李诫 0 今日之功,画图吏主笔制图有功,老都料匠督工有方,匠人依图施工尽责,皆记功一次! None 3.00500023 3005.00023
400100001 Other 旁白 0 元符二年秋,寿康殿偏轩大木作如期功成, None 4.00100001 4001.00001
@ -281,11 +281,11 @@
400200009 LaoDu 老都料匠 1 曾与李大人争执于工地,如今见这三十六卷册籍,才知什么是真正的营造之法! None 4.00200009 4002.00009
400200010 LaoDu 老都料匠 1 这纸上的每一根墨线、每一个朱字,都是大人与画图吏的心血,是天下匠人的规矩, None 4.0020001 4002.0001
400200011 LaoDu 老都料匠 1 往后营造,再无无章可循之苦,这是大宋匠人的福分啊! None 4.00200011 4002.00011
400200012 Player 玩家 0 属下元祐七年入监,蒙大人教诲,始识水准、绳墨之器, None 4.00200012 4002.00012
400200013 Player 玩家 0 初知料例、材份之规;十载相伴,从工地验工到案头制图, None 4.00200013 4002.00013
400200014 Player 玩家 0 从拼斗拱、绘轩宇到参编法式,方悟营造之要,在法、在规、在传。 None 4.00200014 4002.00014
400200015 Player 玩家 0 这三十六卷法式,是大人的毕生所愿,是众匠人的心血所凝, None 4.00200015 4002.00015
400200016 Player 玩家 0 更是大宋营造的万世准绳,属下幸参与其中,此生无憾! None 4.00200016 4002.00016
400200012 Player 0 属下元祐七年入监,蒙大人教诲,始识水准、绳墨之器, None 4.00200012 4002.00012
400200013 Player 0 初知料例、材份之规;十载相伴,从工地验工到案头制图, None 4.00200013 4002.00013
400200014 Player 0 从拼斗拱、绘轩宇到参编法式,方悟营造之要,在法、在规、在传。 None 4.00200014 4002.00014
400200015 Player 0 这三十六卷法式,是大人的毕生所愿,是众匠人的心血所凝, None 4.00200015 4002.00015
400200016 Player 0 更是大宋营造的万世准绳,属下幸参与其中,此生无憾! None 4.00200016 4002.00016
400200017 NeiShi 内侍 1 圣旨到 —— 将作监少监李诫接旨! None 4.00200017 4002.00017
400200018 NeiShi 内侍 1 皇帝诏曰:古者营室,度以绳墨,程以功限,乃成万世之基。 None 4.00200018 4002.00018
400200019 NeiShi 内侍 1 将作监少监李诫,恪恭职守,十载编修,成《营造法式》三十六卷。 None 4.00200019 4002.00019
@ -303,11 +303,11 @@
400300005 LiJie 李诫 1 当年库房之内,教你识水准、曲尺, None 4.00300005 4003.00005
400300006 LiJie 李诫 1 只为让你知 “无规矩则屋不立”;今日法式行天下,工有规,料有例,图有准, None 4.00300006 4003.00006
400300007 LiJie 李诫 1 国用省,民力安,这便是我编修法式的初心啊。 None 4.00300007 4003.00007
400300008 Player 玩家 0 此非大人一人之功,却因大人一人而起。 None 4.00300008 4003.00008
400300009 Player 玩家 0 从立材份制破古法之囿,到绘官式图融匠艺于纸,再到定功限料例堵贪弊之源, None 4.00300009 4003.00009
400300010 Player 玩家 0 大人以十载心血,整肃天下营造,让匠艺有传,法度有立。 None 4.0030001 4003.0001
400300011 Player 玩家 0 属下幸蒙大人教诲,从初识器具的画图令史,到能独掌制图、监工的匠官, None 4.00300011 4003.00011
400300012 Player 玩家 0 十载相伴,所学所悟,终身受用。 None 4.00300012 4003.00012
400300008 Player 0 此非大人一人之功,却因大人一人而起。 None 4.00300008 4003.00008
400300009 Player 0 从立材份制破古法之囿,到绘官式图融匠艺于纸,再到定功限料例堵贪弊之源, None 4.00300009 4003.00009
400300010 Player 0 大人以十载心血,整肃天下营造,让匠艺有传,法度有立。 None 4.0030001 4003.0001
400300011 Player 0 属下幸蒙大人教诲,从初识器具的画图令史,到能独掌制图、监工的匠官, None 4.00300011 4003.00011
400300012 Player 0 十载相伴,所学所悟,终身受用。 None 4.00300012 4003.00012
400300013 LiJie 李诫 1 非独你我,这是老都料匠等百匠同心,是天下营造人共愿。 None 4.00300013 4003.00013
400300014 LiJie 李诫 1 你如今已能独当一面,往后将作监的营造法度,便要靠你与后生们传承。 None 4.00300014 4003.00014
400300015 LiJie 李诫 1 学馆里的年轻画图吏、匠人,皆如当年的你,需让他们知法度、守规矩、传匠艺, None 4.00300015 4003.00015

Binary file not shown.

View File

@ -5,7 +5,7 @@
1 弹出框 DialogForm Dialog True False
2 BgForm Default False False
100 主菜单 MenuForm Default False True
101 设置 SettingForm Default False True
101 设置 SettingForm Default False False
102 关于 AboutForm Default False True
103 组装玩法UI CombineForm Default False False
104 Mask对话UI MaskDialogForm Dialog False False

Binary file not shown.