From 197ce383151c881bc062230feeefe92e9fd7e7e2 Mon Sep 17 00:00:00 2001 From: SepComet <202308010230@stu.csust.edu.cn> Date: Mon, 9 Feb 2026 10:34:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E8=B0=83=E6=95=B4=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/GameMain/DataTables/DialogLine.txt | 20 +++++++++--------- Assets/GameMain/DataTables/Scene.txt | 1 + Assets/GameMain/DataTables/UIForm.txt | 1 + Assets/GameMain/Scripts/DataTable/DRDialog.cs | 2 +- .../Scripts/DataTable/DRDialogLine.cs | 4 ++-- .../Scripts/DataTable/DataTableExtension.cs | 2 +- Assets/Launcher.unity | 2 +- 数据表/DialogLine.txt | 20 +++++++++--------- 数据表/Scene.txt | 1 + 数据表/Scene.xlsx | Bin 9889 -> 9922 bytes 数据表/UIForm.txt | 1 + 数据表/UIForm.xlsx | Bin 10104 -> 10165 bytes 数据表/convert.py | 3 ++- 13 files changed, 31 insertions(+), 26 deletions(-) diff --git a/Assets/GameMain/DataTables/DialogLine.txt b/Assets/GameMain/DataTables/DialogLine.txt index 49a55c7..567ba54 100644 --- a/Assets/GameMain/DataTables/DialogLine.txt +++ b/Assets/GameMain/DataTables/DialogLine.txt @@ -1,13 +1,13 @@ # 对话内容表 筛选用数据 # Id SpeakerId Expression SpeakerName Direction Text Emphasis ChapterId DialogId -# int int ExpressionType string int string EmphasisType int int +# int string ExpressionType string int string EmphasisType int int # 对话行编号 策划备注 说话人Id 表情 显示人名 说话朝向 说话内容 演出效果 章节Id 对话Id - 100100001 Id规则为 Null Null Null 0 相传。 1.00100001 1001.00001 - 100100002 第1位数为章节Id Null Null Null 0 Mask。 1.00100002 1001.00002 - 100100003 第2-4位数为对话Id Null Null Null 0 很好。 1.00100003 1001.00003 - 100200001 第5-9位数为对话行Id Xu Normal 徐晟壹 0 你好,王。 1.00200001 1002.00001 - 100200002 Wang Normal 王可嘉 1 你好,徐。 1.00200002 1002.00002 - 100200003 Master Normal 李诫 1 你们好。 1.00200003 1002.00003 - 100300001 Npc1 Null Null 0 这人谁啊? 1.00300001 1003.00001 - 100300002 Npc2 Null Null 0 不知道啊? 1.00300002 1003.00002 - 100300003 Npc1 Null Null 0 不知道你在这干嘛。 1.00300003 1003.00003 + 100100001 Id规则为 Null None Null 0 相传。 None 1.00100001 1001.00001 + 100100002 第1位数为章节Id Null None Null 0 Mask。 None 1.00100002 1001.00002 + 100100003 第2-4位数为对话Id Null None Null 0 很好。 None 1.00100003 1001.00003 + 100200001 第5-9位数为对话行Id Xu Normal 徐晟壹 0 你好,王。 None 1.00200001 1002.00001 + 100200002 Wang Normal 王可嘉 1 你好,徐。 None 1.00200002 1002.00002 + 100200003 Master Normal 李诫 1 你们好。 None 1.00200003 1002.00003 + 100300001 Npc1 None Null 0 这人谁啊? None 1.00300001 1003.00001 + 100300002 Npc2 None Null 0 不知道啊? None 1.00300002 1003.00002 + 100300003 Npc1 None Null 0 不知道你在这干嘛。 None 1.00300003 1003.00003 diff --git a/Assets/GameMain/DataTables/Scene.txt b/Assets/GameMain/DataTables/Scene.txt index 6aecfae..10e008e 100644 --- a/Assets/GameMain/DataTables/Scene.txt +++ b/Assets/GameMain/DataTables/Scene.txt @@ -5,3 +5,4 @@ 1 菜单场景 Menu 1 2 战斗场景 Main 2 3 压力测试场景 StressTest 0 + 4 GameplayA 0 diff --git a/Assets/GameMain/DataTables/UIForm.txt b/Assets/GameMain/DataTables/UIForm.txt index 6b11bd8..f8de70d 100644 --- a/Assets/GameMain/DataTables/UIForm.txt +++ b/Assets/GameMain/DataTables/UIForm.txt @@ -6,3 +6,4 @@ 100 主菜单 MenuForm Default False True 101 设置 SettingForm Default False True 102 关于 AboutForm Default False True + 103 组装玩法UI CombineForm Default False False diff --git a/Assets/GameMain/Scripts/DataTable/DRDialog.cs b/Assets/GameMain/Scripts/DataTable/DRDialog.cs index 91274f2..f192b0e 100644 --- a/Assets/GameMain/Scripts/DataTable/DRDialog.cs +++ b/Assets/GameMain/Scripts/DataTable/DRDialog.cs @@ -32,7 +32,7 @@ namespace DataTable index++; Title = fields[index++]; UIMode = EnumUtility.Get(fields[index++]); - + return true; } } diff --git a/Assets/GameMain/Scripts/DataTable/DRDialogLine.cs b/Assets/GameMain/Scripts/DataTable/DRDialogLine.cs index f211f38..fb888dd 100644 --- a/Assets/GameMain/Scripts/DataTable/DRDialogLine.cs +++ b/Assets/GameMain/Scripts/DataTable/DRDialogLine.cs @@ -11,7 +11,7 @@ namespace DataTable /// /// 获取对话行编号 /// - public override int Id { get; } + public override int Id => m_Id; /// /// 获取说话人 Id。 @@ -57,7 +57,7 @@ namespace DataTable Direction = int.Parse(fields[index++]); Text = fields[index++]; Emphasis = EnumUtility.Get(fields[index++]); - + return true; } } diff --git a/Assets/GameMain/Scripts/DataTable/DataTableExtension.cs b/Assets/GameMain/Scripts/DataTable/DataTableExtension.cs index b496f91..b114cf2 100644 --- a/Assets/GameMain/Scripts/DataTable/DataTableExtension.cs +++ b/Assets/GameMain/Scripts/DataTable/DataTableExtension.cs @@ -8,7 +8,7 @@ namespace DataTable { public static class DataTableExtension { - private const string DataRowClassPrefixName = "StarForce.DR"; + private const string DataRowClassPrefixName = "DataTable.DR"; internal static readonly char[] DataSplitSeparators = new char[] { '\t' }; internal static readonly char[] DataTrimSeparators = new char[] { '\"' }; diff --git a/Assets/Launcher.unity b/Assets/Launcher.unity index 2d12a16..bac3db4 100644 --- a/Assets/Launcher.unity +++ b/Assets/Launcher.unity @@ -779,7 +779,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 11499388, guid: adb3eb1c35fcff14f89fba7b05c9d71c, type: 3} propertyPath: m_JsonHelperTypeName - value: StarForce.LitJsonHelper + value: CustomUtility.LitJsonHelper objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] diff --git a/数据表/DialogLine.txt b/数据表/DialogLine.txt index 49a55c7..567ba54 100644 --- a/数据表/DialogLine.txt +++ b/数据表/DialogLine.txt @@ -1,13 +1,13 @@ # 对话内容表 筛选用数据 # Id SpeakerId Expression SpeakerName Direction Text Emphasis ChapterId DialogId -# int int ExpressionType string int string EmphasisType int int +# int string ExpressionType string int string EmphasisType int int # 对话行编号 策划备注 说话人Id 表情 显示人名 说话朝向 说话内容 演出效果 章节Id 对话Id - 100100001 Id规则为 Null Null Null 0 相传。 1.00100001 1001.00001 - 100100002 第1位数为章节Id Null Null Null 0 Mask。 1.00100002 1001.00002 - 100100003 第2-4位数为对话Id Null Null Null 0 很好。 1.00100003 1001.00003 - 100200001 第5-9位数为对话行Id Xu Normal 徐晟壹 0 你好,王。 1.00200001 1002.00001 - 100200002 Wang Normal 王可嘉 1 你好,徐。 1.00200002 1002.00002 - 100200003 Master Normal 李诫 1 你们好。 1.00200003 1002.00003 - 100300001 Npc1 Null Null 0 这人谁啊? 1.00300001 1003.00001 - 100300002 Npc2 Null Null 0 不知道啊? 1.00300002 1003.00002 - 100300003 Npc1 Null Null 0 不知道你在这干嘛。 1.00300003 1003.00003 + 100100001 Id规则为 Null None Null 0 相传。 None 1.00100001 1001.00001 + 100100002 第1位数为章节Id Null None Null 0 Mask。 None 1.00100002 1001.00002 + 100100003 第2-4位数为对话Id Null None Null 0 很好。 None 1.00100003 1001.00003 + 100200001 第5-9位数为对话行Id Xu Normal 徐晟壹 0 你好,王。 None 1.00200001 1002.00001 + 100200002 Wang Normal 王可嘉 1 你好,徐。 None 1.00200002 1002.00002 + 100200003 Master Normal 李诫 1 你们好。 None 1.00200003 1002.00003 + 100300001 Npc1 None Null 0 这人谁啊? None 1.00300001 1003.00001 + 100300002 Npc2 None Null 0 不知道啊? None 1.00300002 1003.00002 + 100300003 Npc1 None Null 0 不知道你在这干嘛。 None 1.00300003 1003.00003 diff --git a/数据表/Scene.txt b/数据表/Scene.txt index 6aecfae..10e008e 100644 --- a/数据表/Scene.txt +++ b/数据表/Scene.txt @@ -5,3 +5,4 @@ 1 菜单场景 Menu 1 2 战斗场景 Main 2 3 压力测试场景 StressTest 0 + 4 GameplayA 0 diff --git a/数据表/Scene.xlsx b/数据表/Scene.xlsx index 3bb1e1ae3fba251c0bf9c57cb74dfe531b96af31..bdc5b47e47ba820a7d39de336970626e0518d781 100644 GIT binary patch delta 2111 zcmV-F2*CHDO~OsElK};EgA%h&lb8V(Ow<;xZEe8%5?mBW+A(2rwD#UGjGb76f8s6) z4jsg0Z58+7X;;{A@x)hvDIsI5z;nqx#|L#qs&s`NV(cG|}svZd(6-o15YZ`^D)$!65X2>DZdKfk(ZSB*>E+)4l{GAWp_ zzx@2{U9ZyElr1YDcGV}guA9@eElD0ica z%f$>8l+bZZ(wLG3p)8#+LLQpINBvE{uAuhg|0U9xoHfJ|Wppwi9sos~`}j{3-%v{f z1QY-O00;nwPU1i;@QM7B5d$KBYlA=#fbWI=2id#sBbsPXLtGU~4-IXaYms$LgmqWk zHEk&U@7-Y2$F-%m8D{wS<`J)6I^i7opj#yqfIS2pE}5!Zxlh33wsb?_Xj93$5=!y} zoVW(7^!h5^465gYX}NYRLh1w@jOmvUYIfjVr9E4gw$iAftBg&DJycD9(=whbHg;SZ zND!JsHfp0fxBtX}iMKqO-y&vC*U;?Xr2csa7htS7bBdx z(JWfHC`5>4gqG2|cmqyKz|`_z@Hk7ZcAO)gu8R!N1t} z7aLj$Hj2vFN4g&cpHx~uot9vO?+bwE15NLfz5|n?9~zU51VIjz9bN1v0{{S@2><{X z0F!Yh8h?#eU2obj6n&qx|6uvO`JhlJB2+C*w>$3?m^)k&uiRG{Wyx;D_bM z4~v>tuVPQBM8Hsp2=ApV=e{rEJra&J_J0zTjWOZ}nX!U?rAL}UD#BAc28(*(|;>U zqPB~0J^{PLD)^|PItQyKAbMN|3;zhth);+o7ZJ7yAGq5BszbMcie4_@B1UZiEpqK5 zZf(TIMT}d7B@!0;j7Sx|EYd|x+5(M87jb7JHZG#$utX~Nx-+SwmqogWsV!mUB4##X z?IP}N#KuL0ooB2*lvSNRo>Wxzp?}QQSxHag%H&XM$8Z2ypMebgvM~_5f+bDuimo&j zHPQy8E0gO<8@O~(<$;FNP|9^eRSa?d)b&c^oBYWWY7p&uc$C-hzeGUd`0+O=1xS%5nO=>wBq#;DGN-0_m@ECvQ`~bLQ_WaOeLY85jVh{qe zu>l}FmlpH+73wjE6V37?E(}sE5-sA+K?Lg=P$&^oN5|BKxujEJ>U3IUK-?cEcY~kP z_T=j|eSA^rEn7t@h#N{K$@814NRKb47d{NXKf3?VOgsI!eVw_g>MHO^#gg;eq<1r?U%rIe zA78cNi~D5MN(XaXc0>q>HNcsKHf7R*%bJzHp;Z1B^B1$v58o034Iz`TB0m9klkg%l z0h*H}Ba;PmgA%h&le{B394zpO{6hf%0E7Yn022TJ000000096X000021CtUYKL>UM z004MwFOvx-9FuS*4gtcGgCsTq>65x7EgSYGCKOHq003+P000yK0000000031AOHXW zaFYThK@9>D004MwFLQKxY-Mwk!6G1&a3u}_Ad`P3HUUSIwk1FT@RRo?JOP)JG$tV% plpS5{Cj$Tgp9uf}7ytkO000000RSKX006_2a3(7Tr6K?T000wBzA69! delta 2073 zcmV+!2~O`%P&lK}<8T=m#Xlb8V*+(}`Qj!$&0`Z_|?N!2N(*}~=u)C=i z@xQwz*2h)xHp2`b-#p^=%g{Rqu5>3w0C9n7j9pS4jbMOP7x2&yp6X}P3X5tNIp3`<;v zWspZt7{~CdJ%(qELO%*E&O$d2w|35EVkVoqzS(m1!;c`JxR`kMs2-t9Klm3LdbY{y zo=tsi>?7SzJ)c!Nn$AnG!S@Bg(}CvqN#6mG8k3L&K?$cN|A!F+001eI+5{ngYj4^x z6#YJF|H1P2=0TxQM5sET+N4dY_WW!T2dpM>W*gG}`(4{O56n;%i6r+PpL?!-VzYR7 zEemv{LNZ<@I1VC=XqEDeRl5ZL`uTJ-!$>MpWu)L0P4F9)_+k0+!=mBhMeZq82pB4v z;Js4yJPc*JrzMdAuW1FDoQslwD0mgSP}YKy%nT}va1=#%VM$npEyG;AhlA%iOX-@Y zhmuyxk_cK51^VTl)zY!OX7A$51ZkjGr>7@zZ8I%jJofaJEEQbxTm>mFLo3bi@;iFi5GH$YrNb6Zw0^=8_2f~e|vnx+YwS_Wx#Qqh~Bcp6fFwK_<}%QaC1 zFBfJ7o<+D^WDI6eFFg`8Pw-kngdqJ`J}6p+z$g?u{L&b+k~Fnl(7JF&qkAn4xfQhX%8_cfFGc3K}A~JEFUw z&!gADiNB_3aw3BJiD(oB<4Jcx;u=wCXVomSw%u|ec!S`Rgz1%kHPIVJJfDDJQXPEM zQImt!lMp>FqeXZGXQU^@Cm#{Fh!D8j0=h%LfR0`-;3GzD0V8tlBW{O?jgJ_&h=E90 z=nEos^twnNF=-1}kv`&Xh}iguj$fSX1G69qUIu^cK|!lV0RR9~0ssIM0001ZY%gU~0cI!*c$W2S@SWY~_|t)OOxFrIvn7x)IdW4 z004vn000vJ0000000031AOHXW{{oXUBtHjp1ONbdY%h~4CLEJ*BMt$flcXdz0mzfv zBrO~4K|!lV0RR9~0ssIM000000000103ZMW09TVEB|!q=5tC*mIROWgpd~f|E|b?K zKmpH_7$!Ucl#^8^AseS9|A!F+001co000;O0000000031AOHXWz>|?CD+Yuj00000 Dd8Dy9 diff --git a/数据表/UIForm.txt b/数据表/UIForm.txt index 6b11bd8..f8de70d 100644 --- a/数据表/UIForm.txt +++ b/数据表/UIForm.txt @@ -6,3 +6,4 @@ 100 主菜单 MenuForm Default False True 101 设置 SettingForm Default False True 102 关于 AboutForm Default False True + 103 组装玩法UI CombineForm Default False False diff --git a/数据表/UIForm.xlsx b/数据表/UIForm.xlsx index db32a7aae7a4e51107a41f017833f95af259c5dd..9cfa1b13be1bd8dcdca0e720bc5e849634bab4cd 100644 GIT binary patch delta 2329 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 delta 2241 zcmV;y2tN0x>PQx$|hIb_1A@ZKsNl`&ol1hL&Q3}1vTxV$GoTeCCz5&T>Y3tI9~`{L`$lX8eh*0Vjlv zu>{8ia|}1YQ1?W%M+)8}^|L8kfZ!NPkf5B!aeox!AFl%=?Vk;;GH}Ym?X=%%A9u(W zyc2u())u|7uIs2CwK07D7%yix^LEv+P|dA4pga|vas$j&CZB_LARob`cu;LFSTgHo z{@AMm#N{skdVl@=cuVnb#pBxa9TP<0^UyB+LAf7YT`#66Pe?KjNgO6*K@u8|DLH>= z1}Y!*H~G4P+>iec@hlk-4}iSQef%f#Z%|7E1QY-O00;nwPU1ibmGWCdlNAFYe`|v< z6oB6c`wxpRrxH2u*jztKafP*o^ z0z%CWysxxp%feO~srt&;RPCW`f0~x@Lb9>v!a$5r0NJRG?A_rL2PWR)Xnu>VB|F>c z-S#wC-8BAypPZ&QZJmJEg62g*5p{7H<*twX%#CJI=%P77IK%lmT9t3W8P3fZIHKz9 z=r{S!vW{la4bR%Bl$5iqq=Xh>NJ&J46{ffh1A?=Nk}M=oz8}M{_849?LjEW;y9nJr z+}Sznk(q34yL!jf4?m13c75#Gqk5PGH2fDEa?7Te9iLQMl1@vo!S@Bg z^MR)KN#6mG8k3I%K?+wYG~R^+0037EliCCye^=RV+b|G(FVKGw_#PdOZ&(fzUoFrA zLCyDiSM=4Sa^ZXVLdN@P@S<~R0kd!NuoWz(z{p=KFtYUi& zZ{iDcT!7Z9o>qx#HB$3=L!-VV3UbQmf!hI1995dBa^}oBI+MU4>RGG==P&2%4u~@l zw~yk8ze%}OL4-FvMN!yA#_S+1t7t8de>ZUmU!57J$r^KvmJ8W|=iFH?!U$GTwBE|e z!AFnYd^bf9mxvz`DOl^?;&}g+#3bM(1gjuRSYS`-ivWIvkSn+)KrrHfM;EdpaqOdy z6L8TlnFDSifm3H_-&fhT(lpPx6_Nu!$9zTOpHaw9KAPH-LF;#qD##aFd?3;Bf5f4( zA+qS1$5Bc?kqe1o$VX5>I|htC8jDH-8bez6YbBA`0mw@5tCIJpl#IW{uob*=x|%pB zC&IN*6Ftu!j+);{Y@~9c707;+qPj$&Nmc;YifCke)8+>mZX$wZkVJ5;h{pd_5mYXT z;93#Q?3S|Ot#7IoMl+N zz`Xec3>=8yqln5e@DqdRW$7-Q3wSjs5l<$lR< zS+k=edR?fA@HAJgdLWIh)ME5NG-GUfAeu9_JrK%mt+U%x?HaeTBvRSKYw9z@xAnP88?pqUL=xjs!b()B# zl8#PsvNd&zXroiBa8-@AbZR?m-2>5f*2aVwI@^$bohCxpsSa7{YnS08`Hb^plrk$O z2iSJ5Jpt?I>dd4bIL(A~Yfm|x7Uk^;PV5A}h^`Ib1EsurfTNQd3){+|IMdbt5-fiM zkRG$Q2tWo2usnq}tN{Q3Mv@O4e^bj!!$1_>3;shG*P5y*B1xoJlr9uO`vGG!wt-}( zW+pzCN~?lai(rxZ083F(tU^(1eSA$PiGSf}R!*~=bMCp^bM75&YQwRWHRMu@U>yt( zC4ho(mY5dK=^(Q-GdKYh${;qOO)%2ICZb@<=9i>$NlFo$hYpg7OnTNOULlT3+BR9A^K53N z@vr}Ek9YxkRE#UKLuMvDee2lr7rYnaY5(+*SFU+!D{QuTqtBP z?8Ws7n_uEs~fR|d`&Y>(wE)$RaFIUAsFn$2D;}G8x0>dGb#3MfeERzHz zGXYSOI3$w=9H^)ZNR!YcIt2-p@>@fb4`~s6EB|isn1ONbdY%h}?CmfTAB@O|2 zlb0nn0iTo3B`q7UJcTx_0RR9-0{{RN000000000103ZMW0LYUTCP4wXlUOD?0eF*> zCN=?|lgcJQ0j84+Cp-a>lSn5a99Jqd-h~4I09OnE02lxO000000096X0002J1e4wb P8k3(V5C&T#00000Q2GZ7 diff --git a/数据表/convert.py b/数据表/convert.py index ba85f28..5ca4b8a 100644 --- a/数据表/convert.py +++ b/数据表/convert.py @@ -28,7 +28,8 @@ def convert_excel_to_txt(folder_path='.'): print(f"正在处理: {file_path}...") try: - df = pd.read_excel(file_path, header=None) + # 保留单元格中的 "None" 文本,避免被 pandas 当作缺失值转为空 + df = pd.read_excel(file_path, header=None, keep_default_na=False) df.to_csv(output_file, sep='\t', index=False, header=False, encoding='utf-8')