From 7bed0ec316b99f52d26d5abf116b4004b4768180 Mon Sep 17 00:00:00 2001 From: bob <605277374@qq.com> Date: Thu, 29 May 2025 18:26:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E3=80=82=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Fgui/Main/Main_fui.bytes | Bin 3141 -> 2871 bytes .../Common/Services/Settings/GameSettings.cs | 3 +- Assets/Scripts/NBC/Language/Runtime/Lan.cs | 1 + Assets/Scripts/UI/Binders/MainBinder.cs | 1 + Assets/Scripts/UI/Common/Menu/CommonMenu.cs | 2 +- .../Scripts/UI/Common/Menu/CommonSubMenu.cs | 2 +- .../Scripts/UI/Home/SettingItem.Designer.cs | 37 +++++++++++++++++ .../UI/Home/SettingItem.Designer.cs.meta | 2 + Assets/Scripts/UI/Home/SettingItem.cs | 38 ++++++++++++++++++ Assets/Scripts/UI/Home/SettingItem.cs.meta | 2 + Assets/Scripts/UI/Home/SettingPanel.cs | 25 +++++++++--- FGUIProject/assets/Main/SettingPanel.xml | 2 +- FGUIProject/settings/whoot/hxr7rc7pe9z88.json | 1 + Fishing2.sln.DotSettings.user | 1 + 14 files changed, 108 insertions(+), 9 deletions(-) create mode 100644 Assets/Scripts/UI/Home/SettingItem.Designer.cs create mode 100644 Assets/Scripts/UI/Home/SettingItem.Designer.cs.meta create mode 100644 Assets/Scripts/UI/Home/SettingItem.cs create mode 100644 Assets/Scripts/UI/Home/SettingItem.cs.meta create mode 100644 FGUIProject/settings/whoot/hxr7rc7pe9z88.json diff --git a/Assets/Resources/Fgui/Main/Main_fui.bytes b/Assets/Resources/Fgui/Main/Main_fui.bytes index 654a153ca8f3599e2be5335fec62d06d15082dd0..bc8a5c019d24734ad2cade5f3cd87a6d4d3a9122 100644 GIT binary patch delta 90 zcmX>qv0ZF}B^SqJ1~A~5y3skD(U|EUGXpmR4+HQ2e~b(a>Ap&PGJWC DeU!&- diff --git a/Assets/Scripts/Common/Services/Settings/GameSettings.cs b/Assets/Scripts/Common/Services/Settings/GameSettings.cs index 59641a356..ecacfa200 100644 --- a/Assets/Scripts/Common/Services/Settings/GameSettings.cs +++ b/Assets/Scripts/Common/Services/Settings/GameSettings.cs @@ -67,7 +67,8 @@ namespace NBF /// /// 质量等级 0 1 2 3 /// - [Title("Settings_Title_quality")] [Description("Settings_Description_quality")] + // [Title("Settings_Title_quality")] [Description("Settings_Description_quality")] + [Title("图像质量")] [Description("图像质量324234图像质量图像质量图像质量图像质量3434")] public QualityEnum QualityLevel = QualityEnum.High; /// diff --git a/Assets/Scripts/NBC/Language/Runtime/Lan.cs b/Assets/Scripts/NBC/Language/Runtime/Lan.cs index c9bb7bdce..3417f1966 100644 --- a/Assets/Scripts/NBC/Language/Runtime/Lan.cs +++ b/Assets/Scripts/NBC/Language/Runtime/Lan.cs @@ -21,6 +21,7 @@ public static string Get(string key) { + if(Text == null) return key; return Text.Get(key); } diff --git a/Assets/Scripts/UI/Binders/MainBinder.cs b/Assets/Scripts/UI/Binders/MainBinder.cs index 40bebdfe0..3dc32c59d 100644 --- a/Assets/Scripts/UI/Binders/MainBinder.cs +++ b/Assets/Scripts/UI/Binders/MainBinder.cs @@ -8,6 +8,7 @@ namespace NBF { public static void BindAll() { + UIObjectFactory.SetPackageItemExtension(SettingItem.URL, typeof(SettingItem)); } } } \ No newline at end of file diff --git a/Assets/Scripts/UI/Common/Menu/CommonMenu.cs b/Assets/Scripts/UI/Common/Menu/CommonMenu.cs index 70b5ff8d3..1e5abbf7c 100644 --- a/Assets/Scripts/UI/Common/Menu/CommonMenu.cs +++ b/Assets/Scripts/UI/Common/Menu/CommonMenu.cs @@ -47,7 +47,7 @@ namespace NBF { var tabData = tabList[i]; var tabItem = List.AddItemFromPool().asButton; - tabItem.title = tabData.Tab.Name; + tabItem.title = Lan.Get(tabData.Tab.Name); listWidth += tabItem.width; if (i > 0) { diff --git a/Assets/Scripts/UI/Common/Menu/CommonSubMenu.cs b/Assets/Scripts/UI/Common/Menu/CommonSubMenu.cs index 18ab2da27..11c20f2ef 100644 --- a/Assets/Scripts/UI/Common/Menu/CommonSubMenu.cs +++ b/Assets/Scripts/UI/Common/Menu/CommonSubMenu.cs @@ -47,7 +47,7 @@ namespace NBF { var tabData = subItems[i]; var tabItem = List.AddItemFromPool().asButton; - tabItem.title = tabData.Name; + tabItem.title = Lan.Get(tabData.Name); width += tabItem.width; if (i > 0) { diff --git a/Assets/Scripts/UI/Home/SettingItem.Designer.cs b/Assets/Scripts/UI/Home/SettingItem.Designer.cs new file mode 100644 index 000000000..6acbbc766 --- /dev/null +++ b/Assets/Scripts/UI/Home/SettingItem.Designer.cs @@ -0,0 +1,37 @@ +/**本脚本为自动生成,每次生成会覆盖!请勿手动修改,生成插件文档及项目地址:https://git.whoot.com/whoot-games/whoot.fguieditorplugin**/ + + +using FairyGUI; +using FairyGUI.Utils; +using NBC; + +namespace NBF +{ + public partial class SettingItem + { + public const string URL = "ui://hxr7rc7pe9z88"; + + public Controller style; + public GImage back; + public GTextField TextName; + public GTextField TextInfo; + public GSlider Slider; + public BtnInputControl BtnPrev; + public BtnInputControl BtnNext; + + public override void ConstructFromXML(XML xml) + { + base.ConstructFromXML(xml); + + style = GetController("style"); + back = (GImage)GetChild("back"); + TextName = (GTextField)GetChild("TextName"); + TextInfo = (GTextField)GetChild("TextInfo"); + Slider = (GSlider)GetChild("Slider"); + BtnPrev = (BtnInputControl)GetChild("BtnPrev"); + BtnNext = (BtnInputControl)GetChild("BtnNext"); + OnInited(); + UILanguage.TrySetComponentLanguage(this); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/Home/SettingItem.Designer.cs.meta b/Assets/Scripts/UI/Home/SettingItem.Designer.cs.meta new file mode 100644 index 000000000..e3f4c4a88 --- /dev/null +++ b/Assets/Scripts/UI/Home/SettingItem.Designer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a99a3eda0b402314e998ff820ebb5b4d \ No newline at end of file diff --git a/Assets/Scripts/UI/Home/SettingItem.cs b/Assets/Scripts/UI/Home/SettingItem.cs new file mode 100644 index 000000000..4c17dad56 --- /dev/null +++ b/Assets/Scripts/UI/Home/SettingItem.cs @@ -0,0 +1,38 @@ +// 本脚本只在不存在时会生成一次。组件逻辑写在当前脚本内。已存在不会再次生成覆盖 + +using System.IO; +using System.Reflection; +using UnityEngine; +using FairyGUI; +using NBC; +using Unity.VisualScripting; + +namespace NBF +{ + public partial class SettingItem : GButton + { + public string TitleKey; + public string DescriptionKey; + + private void OnInited() + { + } + + public void SetData(FieldInfo field, object value) + { + var titleAttribute = field.GetAttribute(); + if (titleAttribute != null) + { + TitleKey = titleAttribute.Title; + } + + var descriptionAttribute = field.GetAttribute(); + if (descriptionAttribute != null) + { + DescriptionKey = descriptionAttribute.Description; + } + + TextName.text = Lan.Get(TitleKey); + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/UI/Home/SettingItem.cs.meta b/Assets/Scripts/UI/Home/SettingItem.cs.meta new file mode 100644 index 000000000..0c6ca930e --- /dev/null +++ b/Assets/Scripts/UI/Home/SettingItem.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 80e8fd431260afb49a8f82e2b17ad93d \ No newline at end of file diff --git a/Assets/Scripts/UI/Home/SettingPanel.cs b/Assets/Scripts/UI/Home/SettingPanel.cs index 4186cf067..202562db5 100644 --- a/Assets/Scripts/UI/Home/SettingPanel.cs +++ b/Assets/Scripts/UI/Home/SettingPanel.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using UnityEngine; using NBC; +using Unity.VisualScripting; namespace NBF { @@ -13,6 +14,8 @@ namespace NBF private List tabList = new List(); + private object _currentSettingsObject; + protected override void OnInit() { base.OnInit(); @@ -50,20 +53,32 @@ namespace NBF private void ChangeTab(int index) { Log.Info($"Change tab index={index}"); - // var tabListData = _tabList[index]; - // _currentTab = tabListData; - // SubMenu.SetTabs(_currentTab.SubTab); + var tabListData = tabList[index]; + _currentSettingsObject = tabListData.SettingsObject; + ResetSettingList(); } + private void ResetSettingList() + { + List.RemoveChildrenToPool(); + if (_currentSettingsObject == null) return; + var fields = _currentSettingsObject.GetType().GetFields(); + foreach (var field in fields) + { + if (List.AddItemFromPool() is SettingItem item) + { + item.SetData(field, _currentSettingsObject); + } + } + } + private void Reset() { - } private void Save() { - } protected override void OnHide() diff --git a/FGUIProject/assets/Main/SettingPanel.xml b/FGUIProject/assets/Main/SettingPanel.xml index db8ab97a4..ea33a749e 100644 --- a/FGUIProject/assets/Main/SettingPanel.xml +++ b/FGUIProject/assets/Main/SettingPanel.xml @@ -11,7 +11,7 @@ - + diff --git a/FGUIProject/settings/whoot/hxr7rc7pe9z88.json b/FGUIProject/settings/whoot/hxr7rc7pe9z88.json new file mode 100644 index 000000000..795876781 --- /dev/null +++ b/FGUIProject/settings/whoot/hxr7rc7pe9z88.json @@ -0,0 +1 @@ +{"url":"ui://hxr7rc7pe9z88","name":"SettingItem","scriptType":"component","isCustomName":false,"customName":"","annotation":"","member":{}} \ No newline at end of file diff --git a/Fishing2.sln.DotSettings.user b/Fishing2.sln.DotSettings.user index 26cdb5867..13a1fa6cf 100644 --- a/Fishing2.sln.DotSettings.user +++ b/Fishing2.sln.DotSettings.user @@ -1,6 +1,7 @@  ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded