diff --git a/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn b/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn
index 11f9821..c638dc8 100644
--- a/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn
+++ b/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn
@@ -1,9 +1,10 @@
-[gd_scene load_steps=10 format=3 uid="uid://b2xq02i3vxct"]
+[gd_scene load_steps=11 format=3 uid="uid://b2xq02i3vxct"]
[ext_resource type="Script" path="res://src/game/ui/encyclopedia/EncyclopediaPanel.cs" id="1_hd86y"]
[ext_resource type="Texture2D" uid="uid://c0st2iiql8igg" path="res://resource/sprite/ui/encyclopedia/TitleBg.png" id="3_gdtik"]
[ext_resource type="Shader" path="res://resource/material/Blend.gdshader" id="3_o1xl7"]
[ext_resource type="Texture2D" uid="uid://dahib4qcevboo" path="res://resource/sprite/ui/encyclopedia/Panel2.png" id="4_21546"]
+[ext_resource type="Texture2D" uid="uid://jb73i5q1dv2a" path="res://resource/sprite/ui/encyclopedia/Tab.png" id="4_nm64b"]
[ext_resource type="Texture2D" uid="uid://brevrlfdtllmk" path="res://resource/sprite/ui/encyclopedia/Select.png" id="5_f0anf"]
[ext_resource type="Texture2D" uid="uid://cu5y32wfai4pn" path="res://resource/sprite/ui/encyclopedia/Item.png" id="5_niceh"]
[ext_resource type="Texture2D" uid="uid://conjg6fw6670x" path="res://resource/sprite/ui/encyclopedia/Panel.png" id="7_hfdat"]
@@ -103,6 +104,59 @@
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 3.0
+theme_override_constants/separation = 0
+
+[node name="Control" type="Control" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2"]
+custom_minimum_size = Vector2(2.08165e-12, 48)
+layout_mode = 2
+
+[node name="TabButton" type="TextureButton" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/Control"]
+layout_mode = 1
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_left = 16.0
+offset_top = -52.0
+offset_right = 80.0
+offset_bottom = 4.0
+grow_vertical = 0
+texture_normal = ExtResource("4_nm64b")
+
+[node name="TabButton2" type="TextureButton" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/Control"]
+layout_mode = 1
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_left = 80.0
+offset_top = -52.0
+offset_right = 144.0
+offset_bottom = 4.0
+grow_vertical = 0
+texture_normal = ExtResource("4_nm64b")
+
+[node name="TabButton3" type="TextureButton" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/Control"]
+layout_mode = 1
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_left = 144.0
+offset_top = -52.0
+offset_right = 208.0
+offset_bottom = 4.0
+grow_vertical = 0
+texture_normal = ExtResource("4_nm64b")
+
+[node name="TabButton4" type="TextureButton" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/Control"]
+layout_mode = 1
+anchors_preset = 2
+anchor_top = 1.0
+anchor_bottom = 1.0
+offset_left = 208.0
+offset_top = -52.0
+offset_right = 272.0
+offset_bottom = 4.0
+grow_vertical = 0
+texture_normal = ExtResource("4_nm64b")
[node name="NinePatchRect" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2"]
layout_mode = 2
diff --git a/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Tab.png b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Tab.png
new file mode 100644
index 0000000..26e6fd4
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Tab.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Tab.png.import b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Tab.png.import
new file mode 100644
index 0000000..ea23bba
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Tab.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://jb73i5q1dv2a"
+path="res://.godot/imported/Tab.png-6caaacadacb5a595ff3de32a94dcc375.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/ui/encyclopedia/Tab.png"
+dest_files=["res://.godot/imported/Tab.png-6caaacadacb5a595ff3de32a94dcc375.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs b/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs
index 4234b5a..208e2c8 100644
--- a/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs
+++ b/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs
@@ -82,6 +82,103 @@
}
///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton
+ ///
+ public class TabButton : UiNode
+ {
+ public TabButton(EncyclopediaPanel uiPanel, Godot.TextureButton node) : base(uiPanel, node) { }
+ public override TabButton Clone() => new (UiPanel, (Godot.TextureButton)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton2
+ ///
+ public class TabButton2 : UiNode
+ {
+ public TabButton2(EncyclopediaPanel uiPanel, Godot.TextureButton node) : base(uiPanel, node) { }
+ public override TabButton2 Clone() => new (UiPanel, (Godot.TextureButton)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton3
+ ///
+ public class TabButton3 : UiNode
+ {
+ public TabButton3(EncyclopediaPanel uiPanel, Godot.TextureButton node) : base(uiPanel, node) { }
+ public override TabButton3 Clone() => new (UiPanel, (Godot.TextureButton)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton4
+ ///
+ public class TabButton4 : UiNode
+ {
+ public TabButton4(EncyclopediaPanel uiPanel, Godot.TextureButton node) : base(uiPanel, node) { }
+ public override TabButton4 Clone() => new (UiPanel, (Godot.TextureButton)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control
+ ///
+ public class Control : UiNode
+ {
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.TabButton
+ ///
+ public TabButton L_TabButton
+ {
+ get
+ {
+ if (_L_TabButton == null) _L_TabButton = new TabButton(UiPanel, Instance.GetNode("TabButton"));
+ return _L_TabButton;
+ }
+ }
+ private TabButton _L_TabButton;
+
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.TabButton2
+ ///
+ public TabButton2 L_TabButton2
+ {
+ get
+ {
+ if (_L_TabButton2 == null) _L_TabButton2 = new TabButton2(UiPanel, Instance.GetNode("TabButton2"));
+ return _L_TabButton2;
+ }
+ }
+ private TabButton2 _L_TabButton2;
+
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.TabButton3
+ ///
+ public TabButton3 L_TabButton3
+ {
+ get
+ {
+ if (_L_TabButton3 == null) _L_TabButton3 = new TabButton3(UiPanel, Instance.GetNode("TabButton3"));
+ return _L_TabButton3;
+ }
+ }
+ private TabButton3 _L_TabButton3;
+
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.TabButton4
+ ///
+ public TabButton4 L_TabButton4
+ {
+ get
+ {
+ if (_L_TabButton4 == null) _L_TabButton4 = new TabButton4(UiPanel, Instance.GetNode("TabButton4"));
+ return _L_TabButton4;
+ }
+ }
+ private TabButton4 _L_TabButton4;
+
+ public Control(EncyclopediaPanel uiPanel, Godot.Control node) : base(uiPanel, node) { }
+ public override Control Clone() => new (UiPanel, (Godot.Control)Instance.Duplicate());
+ }
+
+ ///
/// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.Bg
///
public class Bg : UiNode
@@ -206,6 +303,19 @@
public class VBoxContainer2 : UiNode
{
///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.Control
+ ///
+ public Control L_Control
+ {
+ get
+ {
+ if (_L_Control == null) _L_Control = new Control(UiPanel, Instance.GetNode("Control"));
+ return _L_Control;
+ }
+ }
+ private Control _L_Control;
+
+ ///
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.NinePatchRect
///
public NinePatchRect_1 L_NinePatchRect
@@ -472,6 +582,31 @@
public TextureRect S_TextureRect => L_NinePatchRect.L_TextureRect;
///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton
+ ///
+ public TabButton S_TabButton => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_Control.L_TabButton;
+
+ ///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton2
+ ///
+ public TabButton2 S_TabButton2 => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_Control.L_TabButton2;
+
+ ///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton3
+ ///
+ public TabButton3 S_TabButton3 => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_Control.L_TabButton3;
+
+ ///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control.TabButton4
+ ///
+ public TabButton4 S_TabButton4 => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_Control.L_TabButton4;
+
+ ///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.Control
+ ///
+ public Control S_Control => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_Control;
+
+ ///
/// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.Bg
///
public Bg S_Bg => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_NinePatchRect.L_ScrollContainer.L_ObjectButton.L_Bg;