diff --git a/Config/MiniTemplate/Datas/#Language.xlsx b/Config/MiniTemplate/Datas/#Language.xlsx new file mode 100644 index 0000000..48e5b33 Binary files /dev/null and b/Config/MiniTemplate/Datas/#Language.xlsx differ 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"); } }