diff --git a/Assets/Resources/Fgui/Main/Main_fui.bytes b/Assets/Resources/Fgui/Main/Main_fui.bytes
index 654a153ca..bc8a5c019 100644
Binary files a/Assets/Resources/Fgui/Main/Main_fui.bytes and b/Assets/Resources/Fgui/Main/Main_fui.bytes differ
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