From 92d9988c55eefbb3dad78e3f1ae34b2eafa0ce21 Mon Sep 17 00:00:00 2001 From: TongZiGang <754383023@qq.com> Date: Thu, 17 Jul 2025 10:17:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BB=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Config/MiniTemplate/Datas/#Language.xlsx | Bin 0 -> 9631 bytes Config/MiniTemplate/output/Gen/Language.cs | 59 ++++++++++++++++++ Config/MiniTemplate/output/Gen/Tables.cs | 3 + Config/MiniTemplate/output/Gen/TbLanguage.cs | 52 +++++++++++++++ .../output/bytes/tblanguage.bytes | 1 + .../AssetBundle/Config/tblanguage.bytes | 1 + .../AssetBundle/Config/tblanguage.bytes.meta | 7 +++ .../UI/Prefab/Main/MainView.prefab | 2 +- .../GameLogic/Export/Config/Language.cs | 59 ++++++++++++++++++ .../GameLogic/Export/Config/Language.cs.meta | 11 ++++ .../Scripts/GameLogic/Export/Config/Tables.cs | 3 + .../GameLogic/Export/Config/TbLanguage.cs | 52 +++++++++++++++ .../Export/Config/TbLanguage.cs.meta | 11 ++++ .../GameLogic/Tools/Config/ConfigManager.cs | 35 +++++++++++ .../Tools/Config/ConfigManager.cs.meta | 3 + .../GameLogic/UI/UILogic/Main/UIMainView.cs | 1 + 16 files changed, 299 insertions(+), 1 deletion(-) create mode 100644 Config/MiniTemplate/Datas/#Language.xlsx create mode 100644 Config/MiniTemplate/output/Gen/Language.cs create mode 100644 Config/MiniTemplate/output/Gen/TbLanguage.cs create mode 100644 Config/MiniTemplate/output/bytes/tblanguage.bytes create mode 100644 UnityGame/Assets/AssetBundle/Config/tblanguage.bytes create mode 100644 UnityGame/Assets/AssetBundle/Config/tblanguage.bytes.meta create mode 100644 UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs create mode 100644 UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs.meta create mode 100644 UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs create mode 100644 UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs.meta create mode 100644 UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs create mode 100644 UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs.meta diff --git a/Config/MiniTemplate/Datas/#Language.xlsx b/Config/MiniTemplate/Datas/#Language.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..48e5b3395803cbc01618729b4295ecc7fc39d2d5 GIT binary patch literal 9631 zcmaia1yo!~6E5y9!QI_0xWgd9gS*S%4#6e32X_hX5ZnX79fE6c2@)j8gXHaIlYig7 zK4TbHU7{cZ4gm-9JVN9*gr2|u8n914jBSk+9Bl0znG~MLFrIF}{2&_@ z(FSD!1p(m!0|7z#Cz*kr9iy9#bw+F#0GtIS_{9GN#i7z7JT$>NEPF$oUcIgV&>C-E zPQ+AOGpjEgx{K>{YmxdI+mtI?>+6;c<>Q#(>Z>iUsp+zy(AgIMS4bbz{n*;;fU2iy z+c&$(Y~)7(9ZzV;Rj{+Bh1K}*U2w4)UwUzF`s-Bc;Xt9ZNV@gX zL0s<3FYTa`hA#<;VCPXjpbaWsBW>~6&rbS?%GkaXXw?CVf~lR62QJ{s6&EzuQF>fp zR@X-QX@=!cGYPqFV=YLi)D&pI2YVTt6Di%(n7QKSgfqC6=FLPYd6^B#2+o1hltj<% zTs8KO6=BiDWv<@Zn-h$FQ;_oz#dV3)5&9z4&A2|Pgy^Qq;FK@uOC`FNNwR60e!u~; zohI7eZr^-Cr*(JNbPM*ocniHDIZd9#3w#nU>OaM6Wb0t^EZ?BGYWW^!lweo#6_T^e zd7wpcE_ot|b1oX1I5Fo?djslQ^v}U{$elu5ly0D=P*9vJg_y07@{_@8#MSC&_mAEW zCtKNqGUz)<2~lh~r2D8_zFR4w+vH+cd47wcQJk`HNyca*?9h?76A!wbj#*}Kqbf-O ztSsjJarxie33H2Cnxd<}C`+Y$D-+eUPcKfu@l-`mXM58_>8lm!WDge%Yl_Y22V6m! zz@>2u7`9ba0)^<05rUgEm*o%hX@ycLd9;3?z+i@(<_|Zv8*A0*KEZqF4juG^_ zt`wV7uN2%ALmT z`yR`$HD20fnJa>Nf?#)xChIfwm+-{+X`_{9pQ+y+ZN^W4h%-#?f7t4z$UrR+IJybc zen;YRJ5=XPq9b|p&TV(H2Q}wSQH#tHNG|QwG4k7X(BE}pzH!$;_oNflC!L`GrW0pJ zCtI6mtrW!S$n-E{1fM`YiVk?EMl&qFT!`YZ5pK0xTPjcBT!xcVN_BeK`w0A)z7fRb z;m*y3Jmx81=b=i#J=oPC(H{c^0ai?>+~`5nQ)J`!0!97xe)C~O5(}R+{OeCga&hrQZEtmUnXHix&iw|E^sL~p-4b(m{ov*(iCLKaAs+c*uP<9g*F;W5J zn1e7eup->cQhqv>o^Pqzeea|+4a*}l+1@H%=5NDOf_vkH7buX<0O?sP<2cJ4jz@T% zO~3l?iqx{w>LK+ZqG72oCD|9QS~o=!k5gsV&@b000MqAaM{zNR`Nq=%CP~BJ7aG^s z@t%^m&9EBGi`QO81+tSPcaf%|MQHWDf+~2a#hVK301Z(W^;aW_s_s+^#R9*JAX&B3 z@-@h>HkF(Q*&+EnJTBg0gQRT;RyktV4y@tVoZ^$F@=GB6umbZCPT@fm$75kQmU{{6IVTf1|RkI>*}ZE6wnRhi+b8BxsnS! z$t!4%b`e9(@Lnqo5-Md^mv6PT${p%-We2-xkyfOwvtnI`9idecr7)F<6Vt;dn7Amf z6TNxcdE27yfvcR0YL|n+OqMB28u7igY=bE%-fTF_(I9;mVZC0cOJC*){SLc142ftu zpFILZ+emd}RAH=Y98w7#F?O*Ct-ug}t(kXTj=~(>9wk%^S>;yzVzMovBZ8{#-_eC-=zp zIWOL3&NR5JUuzM{TNR7gTT9pX!drtNe8w2l30kjssal%{UrF|;#VulRf4J6)0S-_6 zOZm84Czq?|-6$AR`pE`Tp~&tRD6F{^B0kC_L2YJyXo17KkX(ba}yhrKYX~n zbtL5}BnSu{&QF8(H`x#3A6w)|L&g@53#A=v*GK)ZE!Ow|6(<&4EBZrZ21INesift* z1(RMKIC2xoMq(aJNH`3saBVn@whILe#BmVB1<^+t9dfBDq6re$dQuA7H=QBup@#uU z-$#b~agMpR_6KL6VK0$bumTGhIvk1*J-HFpr6%8Rui{(?G#z@1mwg3R|jdnq2D$xRY3zqAhUlfX9ssB5kV!@O%V+sk(6BH$|;C+Xwn6s zNP9Dh!+vPv!Hos+^y#?XyhMKW=y6SP_kHmkTL;chiDp_z$X!poGb!g|@Mf4uXo|V= zF#+kq8Hx5l6x6lf1%FszARa?Uncy3X?*LevZ3&f%YK}vX+xW$8sC75d{;i2B7|rt8 zlFN+l4k(4DumjHKOJLh+5hyi`ejyIlqM1>i&PX*B_4obLWeX=xx)&>_9ZlWtMTHOa ztxzTprF7T2m53U3r??60R&>`3K*vU-?{nD*dU{=4gS;7*J!h4|EEIcgkUAAJT#M(Q zU&Ns1dCI%hsvU7~I_$t>lm#0)7o(6R4LVyf2w&lxfC_=q#F1ZaS^G;;`}QqKBp~p7 z{U(heg9&A0V7xRI3|7sWPwGLsW=yK}V1^D6-QRsMgvAs^#4q^fV)5%{e}D8FmNqRH zPwGh77B0az_b0B%Z9Z@AA4cMBYsQD%3^w%c@A^ttAHC8%-I5VBR|PyT?>-L|>9sxV zz3usqBq@q6Kn(k01<`A3*%Ve*!L0vFK**i-ivVoYA+Wx+#r0-7BX~EX;P>#2;YS!N z+u3A{YxR5H;Z}lQl%?@wEBoI<^65t$vmVQKI%5tEoa(1a9ItsidEN+ zoxs2V+Kh`V4dyGk)QQyHG)bAw{U5P;O~XD~x#+8m^}~k%9eSiqJQpg=)B!ImKdchqgf|re&`M;;O@qeLjMt z&tam`5*Q4&0z-rBJ}+%C>*ejv35zb72xiyzN;pV=WX$>=%7XscVACZc?k)Txm4&sT zAf}Oe?m$alKKz@`Ln<*HQ38eLh9y_nhC%NdlqJv`b{d8kq0MaDQJT6v!!T_RD97Ma>g7tF0cge)uxPhGqS?l-9C z@{aj}JbBo0HQ9Qs(e5U!YtB4Sy8vnW-KOok{4B6tGH|jzU9pwv;z3Jj2iBAM{o%z8 zI#x)vG=kntJOU`ac5iIMSMK;MbetUbZ&=Zh{k9BSwdp>tw-U2CwN-OVVjgoWN@cn3KqMS#NMUzbqopCCMc!ls;skU= zC-KQIh8Y9Jr@A(390ZwW;NY{>R3IB92(901zA1;J)Q1S66tjQ7pOEOGtD`dGiWC;?fKr zw3zOU2)L0$wnp|VngPo-oa56faH$@W3?1zn0Tk%j(nCaDp9$J2(baiHY%EYC*Z9?m z-M@8aNor7P4`$ zC5*Hq9;v}2qn-LpLG4wDIoh&tcc*XisZing4L+f}=*#U!RQhVoyj(PFG*BitS`AK7 zuoH5460Ne1f{zJ96*o!>l{wb<6Vef9QHEjeP;*MU;}fsNks?aHMq?DnDBQ{LB}%$d zrR$q5COBA;tXhsgNzgh5n=^V87SNVhHLDJXG24R6H1X-hbE%IgBOFa0o~Af4$p9TI zoMpZT=E?|lhu`ruAJgFa3)`R$=N4jD4pvPbdQBe_oWo`c9kI)GE8O2M9VxAZ5w0UZ z2kh+M={L4o8kn=MzTTHTSY;kw#hO1A2$h6h*^)2DND(q0|K{`iiMO(Q1p4a9e+)mJ zdY?nTCkNqZZs1^ItnB1q0W@=bK1A6}v^@tRAZr9~T|*C3UJ?hQIA|ART30E283aW2 zDmfsv%ZPJv1|PSAp@ZXrM~k9HE50TsX(Bjj5zHv>kJd?JAdWd#58YH`WbK@MjdUQg zG*S^YDlTDNT~jVe-HRp_F|zJQxk3Mp6f@W0m?&CpbrK8oCOT z17xXwpL}dg#f%`V>;l|j39k`hmk=uXp{tlVHGRT5Uwb|q6R*7CG`s>};t@Z%9VPW? zh;Z`d21=!z>fp=koL5biiQEc`zG7Zp#cO42=cEJr=hK_)w7Hum33?vm@&Mw>K^rP2-1nZxs*ePs?C5i$Q2cV<@wXL0aAk5d)uYO z5p6rM$=u6w$>@gnrd|1DzhG$*7D$%~@

n^w@-1epFTztX0{Om}~kLalr5ma-L+) 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 literal 0 HcmV?d00001 diff --git a/Config/MiniTemplate/output/Gen/Language.cs b/Config/MiniTemplate/output/Gen/Language.cs new file mode 100644 index 0000000..0916de4 --- /dev/null +++ b/Config/MiniTemplate/output/Gen/Language.cs @@ -0,0 +1,59 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; + + +namespace cfg +{ +public sealed partial class Language : Luban.BeanBase +{ + public Language(ByteBuf _buf) + { + Id = _buf.ReadString(); + CN = _buf.ReadString(); + EN = _buf.ReadString(); + } + + public static Language DeserializeLanguage(ByteBuf _buf) + { + return new Language(_buf); + } + + ///

+ /// id + /// + public readonly string Id; + /// + /// 中文 + /// + public readonly string CN; + /// + /// 英文 + /// + public readonly string EN; + + public const int __ID__ = -1548945544; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "CN:" + CN + "," + + "EN:" + EN + "," + + "}"; + } +} +} + diff --git a/Config/MiniTemplate/output/Gen/Tables.cs b/Config/MiniTemplate/output/Gen/Tables.cs index f8a1f2f..b840a9b 100644 --- a/Config/MiniTemplate/output/Gen/Tables.cs +++ b/Config/MiniTemplate/output/Gen/Tables.cs @@ -14,16 +14,19 @@ namespace cfg public partial class Tables { public demo.Tbitem Tbitem {get; } + public TbLanguage TbLanguage {get; } public Tables(System.Func loader) { Tbitem = new demo.Tbitem(loader("demo_tbitem")); + TbLanguage = new TbLanguage(loader("tblanguage")); ResolveRef(); } private void ResolveRef() { Tbitem.ResolveRef(this); + TbLanguage.ResolveRef(this); } } diff --git a/Config/MiniTemplate/output/Gen/TbLanguage.cs b/Config/MiniTemplate/output/Gen/TbLanguage.cs new file mode 100644 index 0000000..89f412b --- /dev/null +++ b/Config/MiniTemplate/output/Gen/TbLanguage.cs @@ -0,0 +1,52 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; + + +namespace cfg +{ +public partial class TbLanguage +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbLanguage(ByteBuf _buf) + { + _dataMap = new System.Collections.Generic.Dictionary(); + _dataList = new System.Collections.Generic.List(); + + for(int n = _buf.ReadSize() ; n > 0 ; --n) + { + Language _v; + _v = global::cfg.Language.DeserializeLanguage(_buf); + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Language GetOrDefault(string key) => _dataMap.TryGetValue(key, out var v) ? v : null; + public Language Get(string key) => _dataMap[key]; + public Language this[string key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/Config/MiniTemplate/output/bytes/tblanguage.bytes b/Config/MiniTemplate/output/bytes/tblanguage.bytes new file mode 100644 index 0000000..afa80ad --- /dev/null +++ b/Config/MiniTemplate/output/bytes/tblanguage.bytes @@ -0,0 +1 @@ +Main_BtnTitle_Star开始Start \ No newline at end of file diff --git a/UnityGame/Assets/AssetBundle/Config/tblanguage.bytes b/UnityGame/Assets/AssetBundle/Config/tblanguage.bytes new file mode 100644 index 0000000..afa80ad --- /dev/null +++ b/UnityGame/Assets/AssetBundle/Config/tblanguage.bytes @@ -0,0 +1 @@ +Main_BtnTitle_Star开始Start \ No newline at end of file diff --git a/UnityGame/Assets/AssetBundle/Config/tblanguage.bytes.meta b/UnityGame/Assets/AssetBundle/Config/tblanguage.bytes.meta new file mode 100644 index 0000000..ca4fe8b --- /dev/null +++ b/UnityGame/Assets/AssetBundle/Config/tblanguage.bytes.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: efee32ff1e4ab7748b88efc630679b3c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityGame/Assets/AssetBundle/UI/Prefab/Main/MainView.prefab b/UnityGame/Assets/AssetBundle/UI/Prefab/Main/MainView.prefab index fcd7131..442688d 100644 --- a/UnityGame/Assets/AssetBundle/UI/Prefab/Main/MainView.prefab +++ b/UnityGame/Assets/AssetBundle/UI/Prefab/Main/MainView.prefab @@ -78,7 +78,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: "\u5F00\u59CB" + m_Text: "\u5F00\u59CB123" --- !u!1 &1824431982015067521 GameObject: m_ObjectHideFlags: 0 diff --git a/UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs b/UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs new file mode 100644 index 0000000..0916de4 --- /dev/null +++ b/UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs @@ -0,0 +1,59 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; + + +namespace cfg +{ +public sealed partial class Language : Luban.BeanBase +{ + public Language(ByteBuf _buf) + { + Id = _buf.ReadString(); + CN = _buf.ReadString(); + EN = _buf.ReadString(); + } + + public static Language DeserializeLanguage(ByteBuf _buf) + { + return new Language(_buf); + } + + /// + /// id + /// + public readonly string Id; + /// + /// 中文 + /// + public readonly string CN; + /// + /// 英文 + /// + public readonly string EN; + + public const int __ID__ = -1548945544; + public override int GetTypeId() => __ID__; + + public void ResolveRef(Tables tables) + { + } + + public override string ToString() + { + return "{ " + + "id:" + Id + "," + + "CN:" + CN + "," + + "EN:" + EN + "," + + "}"; + } +} +} + diff --git a/UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs.meta b/UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs.meta new file mode 100644 index 0000000..c7078d0 --- /dev/null +++ b/UnityGame/Assets/Scripts/GameLogic/Export/Config/Language.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a19e815a8e895d44d8ecd983ec7322a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityGame/Assets/Scripts/GameLogic/Export/Config/Tables.cs b/UnityGame/Assets/Scripts/GameLogic/Export/Config/Tables.cs index f8a1f2f..b840a9b 100644 --- a/UnityGame/Assets/Scripts/GameLogic/Export/Config/Tables.cs +++ b/UnityGame/Assets/Scripts/GameLogic/Export/Config/Tables.cs @@ -14,16 +14,19 @@ namespace cfg public partial class Tables { public demo.Tbitem Tbitem {get; } + public TbLanguage TbLanguage {get; } public Tables(System.Func loader) { Tbitem = new demo.Tbitem(loader("demo_tbitem")); + TbLanguage = new TbLanguage(loader("tblanguage")); ResolveRef(); } private void ResolveRef() { Tbitem.ResolveRef(this); + TbLanguage.ResolveRef(this); } } diff --git a/UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs b/UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs new file mode 100644 index 0000000..89f412b --- /dev/null +++ b/UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs @@ -0,0 +1,52 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using Luban; + + +namespace cfg +{ +public partial class TbLanguage +{ + private readonly System.Collections.Generic.Dictionary _dataMap; + private readonly System.Collections.Generic.List _dataList; + + public TbLanguage(ByteBuf _buf) + { + _dataMap = new System.Collections.Generic.Dictionary(); + _dataList = new System.Collections.Generic.List(); + + for(int n = _buf.ReadSize() ; n > 0 ; --n) + { + Language _v; + _v = global::cfg.Language.DeserializeLanguage(_buf); + _dataList.Add(_v); + _dataMap.Add(_v.Id, _v); + } + } + + public System.Collections.Generic.Dictionary DataMap => _dataMap; + public System.Collections.Generic.List DataList => _dataList; + + public Language GetOrDefault(string key) => _dataMap.TryGetValue(key, out var v) ? v : null; + public Language Get(string key) => _dataMap[key]; + public Language this[string key] => _dataMap[key]; + + public void ResolveRef(Tables tables) + { + foreach(var _v in _dataList) + { + _v.ResolveRef(tables); + } + } + +} + +} + diff --git a/UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs.meta b/UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs.meta new file mode 100644 index 0000000..1cd75af --- /dev/null +++ b/UnityGame/Assets/Scripts/GameLogic/Export/Config/TbLanguage.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8fc14253f6e36724eb657932e1084248 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs b/UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs new file mode 100644 index 0000000..1b59abf --- /dev/null +++ b/UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs @@ -0,0 +1,35 @@ +using System.IO; +using System.Net.Mime; +using Luban; +using UnityEngine; + +namespace CreatGame +{ + /// + /// 表格 + /// + public class ConfigManager : Singleton + { + /// + /// + /// + private readonly cfg.Tables tables; + /// + /// + /// + public cfg.Tables Tables => tables; + + public ConfigManager() + { + var tablesCtor = typeof(cfg.Tables).GetConstructors()[0]; + // 根据cfg.Tables的构造函数的Loader的返回值类型决定使用json还是ByteBuf Loader + System.Delegate loader = new System.Func(LoadByteBuf); + tables = (cfg.Tables)tablesCtor.Invoke(new object[] {loader}); + } + + private static ByteBuf LoadByteBuf(string file) + { + return new ByteBuf(File.ReadAllBytes($"{Application.dataPath}/AssetBundle/Config/{file}.bytes")); + } + } +} \ No newline at end of file diff --git a/UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs.meta b/UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs.meta new file mode 100644 index 0000000..7ffd43d --- /dev/null +++ b/UnityGame/Assets/Scripts/GameLogic/Tools/Config/ConfigManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 60fd032406824917a60af497b179c08f +timeCreated: 1752717676 \ No newline at end of file diff --git a/UnityGame/Assets/Scripts/GameLogic/UI/UILogic/Main/UIMainView.cs b/UnityGame/Assets/Scripts/GameLogic/UI/UILogic/Main/UIMainView.cs index 51e5380..a23e580 100644 --- a/UnityGame/Assets/Scripts/GameLogic/UI/UILogic/Main/UIMainView.cs +++ b/UnityGame/Assets/Scripts/GameLogic/UI/UILogic/Main/UIMainView.cs @@ -12,6 +12,7 @@ namespace CreatGame.UI private void OnStarBtnClick() { + StarBtnText.text = ConfigManager.Instance.Tables.TbLanguage.Get("Main_BtnTitle_Star").CN; Debug.Log("OnStarBtnClick"); } }