diff --git a/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn b/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn
index dc706af..ae95d6a 100644
--- a/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn
+++ b/DungeonShooting_Godot/prefab/ui/Encyclopedia.tscn
@@ -1,9 +1,13 @@
-[gd_scene load_steps=6 format=3 uid="uid://b2xq02i3vxct"]
+[gd_scene load_steps=10 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://blfvsup876agh" path="res://resource/sprite/ui/commonIcon/Search.png" id="2_3ln1u"]
+[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://bn47bmilcw4x0" path="res://resource/sprite/ui/commonIcon/Select2.png" id="4_gtlqd"]
+[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://5adiy3ycqyxw" path="res://resource/sprite/ui/GUI.png" id="5_qcyvs"]
+[ext_resource type="Texture2D" uid="uid://civvcowt2wklr" path="res://resource/sprite/weapon/weapon0001/Weapon0001.png" id="6_536pn"]
+[ext_resource type="Texture2D" uid="uid://conjg6fw6670x" path="res://resource/sprite/ui/encyclopedia/Panel.png" id="7_hfdat"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gm0bl"]
resource_local_to_scene = true
@@ -22,113 +26,182 @@
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+offset_right = -1440.0
+offset_bottom = -810.0
+grow_horizontal = 2
+grow_vertical = 2
+scale = Vector2(4, 4)
script = ExtResource("1_hd86y")
-[node name="Panel2" type="Panel" parent="."]
+[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
-size_flags_horizontal = 3
-size_flags_stretch_ratio = 75.0
+color = Color(0, 0, 0, 0.705882)
-[node name="MarginContainer" type="MarginContainer" parent="Panel2"]
+[node name="NinePatchRect" type="NinePatchRect" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = 3.0
+offset_top = 12.0
+offset_right = -3.0
+offset_bottom = -3.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("5_qcyvs")
+region_rect = Rect2(2, 35, 44, 43)
+patch_margin_left = 30
+patch_margin_top = 29
+patch_margin_right = 30
+patch_margin_bottom = 30
+
+[node name="TextureRect" type="TextureRect" parent="NinePatchRect"]
+layout_mode = 1
+anchors_preset = 10
+anchor_right = 1.0
+offset_top = -10.25
+offset_bottom = 11.75
+grow_horizontal = 2
+texture = ExtResource("3_gdtik")
+stretch_mode = 3
+
+[node name="Label" type="Label" parent="NinePatchRect/TextureRect"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_top = -3.25
+offset_bottom = -1.25
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_colors/font_color = Color(0, 0, 0, 1)
+theme_override_font_sizes/font_size = 16
+text = "图鉴"
+horizontal_alignment = 1
+vertical_alignment = 1
+
+[node name="MarginContainer" type="MarginContainer" parent="NinePatchRect"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
-theme_override_constants/margin_left = 2
-theme_override_constants/margin_top = 2
-theme_override_constants/margin_right = 2
-theme_override_constants/margin_bottom = 2
+theme_override_constants/margin_left = 10
+theme_override_constants/margin_top = 20
+theme_override_constants/margin_right = 10
+theme_override_constants/margin_bottom = 10
-[node name="VBoxContainer2" type="VBoxContainer" parent="Panel2/MarginContainer"]
+[node name="HBoxContainer" type="HBoxContainer" parent="NinePatchRect/MarginContainer"]
+layout_mode = 2
+
+[node name="VBoxContainer2" type="VBoxContainer" parent="NinePatchRect/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
+size_flags_stretch_ratio = 2.0
-[node name="MarginContainer" type="MarginContainer" parent="Panel2/MarginContainer/VBoxContainer2"]
-layout_mode = 2
-theme_override_constants/margin_left = 2
-theme_override_constants/margin_top = 2
-theme_override_constants/margin_right = 2
-theme_override_constants/margin_bottom = 2
-
-[node name="HBoxContainer" type="HBoxContainer" parent="Panel2/MarginContainer/VBoxContainer2/MarginContainer"]
-custom_minimum_size = Vector2(0, 100)
+[node name="NinePatchRect" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2"]
layout_mode = 2
size_flags_vertical = 3
+texture = ExtResource("7_hfdat")
+patch_margin_left = 14
+patch_margin_top = 14
+patch_margin_right = 14
+patch_margin_bottom = 14
-[node name="LineEdit" type="LineEdit" parent="Panel2/MarginContainer/VBoxContainer2/MarginContainer/HBoxContainer"]
-custom_minimum_size = Vector2(500, 44)
-layout_mode = 2
-size_flags_vertical = 4
-placeholder_text = "搜索名称"
-
-[node name="Search" type="Button" parent="Panel2/MarginContainer/VBoxContainer2/MarginContainer/HBoxContainer"]
-custom_minimum_size = Vector2(44, 44)
-layout_mode = 2
-size_flags_vertical = 4
-icon = ExtResource("2_3ln1u")
-
-[node name="ScrollContainer" type="ScrollContainer" parent="Panel2/MarginContainer/VBoxContainer2"]
-layout_mode = 2
+[node name="ScrollContainer" type="ScrollContainer" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = 7.0
+offset_top = 7.0
+offset_right = -7.0
+offset_bottom = -7.0
+grow_horizontal = 2
+grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
size_flags_stretch_ratio = 75.0
-[node name="ObjectButton" type="Button" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer"]
-custom_minimum_size = Vector2(124, 160)
+[node name="ObjectButton" type="TextureButton" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer"]
+custom_minimum_size = Vector2(50, 30)
layout_mode = 2
-[node name="PreviewImage" type="TextureRect" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer/ObjectButton"]
+[node name="Bg" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer/ObjectButton"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+texture = ExtResource("5_niceh")
+patch_margin_left = 8
+patch_margin_top = 8
+patch_margin_right = 8
+patch_margin_bottom = 8
+
+[node name="PreviewImage" type="TextureRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer/ObjectButton"]
material = SubResource("ShaderMaterial_gm0bl")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
-offset_left = 2.0
-offset_top = 2.0
-offset_right = -2.0
-offset_bottom = -38.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
-expand_mode = 2
-stretch_mode = 5
+stretch_mode = 3
-[node name="ObjectName" type="Label" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer/ObjectButton"]
-layout_mode = 1
-anchors_preset = 12
-anchor_top = 1.0
-anchor_right = 1.0
-anchor_bottom = 1.0
-offset_top = -43.0
-offset_right = 124.0
-offset_bottom = 43.0
-grow_horizontal = 2
-grow_vertical = 0
-scale = Vector2(0.5, 0.5)
-text = "武器"
-horizontal_alignment = 1
-vertical_alignment = 1
-autowrap_mode = 3
-clip_text = true
-text_overrun_behavior = 3
-
-[node name="Select" type="NinePatchRect" parent="Panel2/MarginContainer/VBoxContainer2/ScrollContainer/ObjectButton"]
+[node name="Select" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer2/NinePatchRect/ScrollContainer/ObjectButton"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
-texture = ExtResource("4_gtlqd")
-region_rect = Rect2(0, 0, 36, 36)
-patch_margin_left = 8
-patch_margin_top = 8
-patch_margin_right = 8
-patch_margin_bottom = 8
+texture = ExtResource("5_f0anf")
+region_rect = Rect2(0, 0, 4, 4)
+patch_margin_left = 3
+patch_margin_top = 3
+patch_margin_right = 3
+patch_margin_bottom = 3
+
+[node name="VBoxContainer3" type="VBoxContainer" parent="NinePatchRect/MarginContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+
+[node name="NinePatchRect" type="NinePatchRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3"]
+layout_mode = 2
+size_flags_vertical = 3
+texture = ExtResource("7_hfdat")
+patch_margin_left = 14
+patch_margin_top = 14
+patch_margin_right = 14
+patch_margin_bottom = 14
+
+[node name="VBoxContainer" type="VBoxContainer" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3/NinePatchRect"]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_left = 7.0
+offset_top = 7.0
+offset_right = -7.0
+offset_bottom = -7.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="TextureRect" type="TextureRect" parent="NinePatchRect/MarginContainer/HBoxContainer/VBoxContainer3/NinePatchRect/VBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 3
+texture = ExtResource("6_536pn")
+stretch_mode = 3
+
+[node name="Gui" type="Sprite2D" parent="."]
+position = Vector2(-108.25, 158.25)
+texture = ExtResource("5_qcyvs")
diff --git a/DungeonShooting_Godot/prefab/ui/MapEditorMapLayer.tscn b/DungeonShooting_Godot/prefab/ui/MapEditorMapLayer.tscn
index 64daa22..3945ef4 100644
--- a/DungeonShooting_Godot/prefab/ui/MapEditorMapLayer.tscn
+++ b/DungeonShooting_Godot/prefab/ui/MapEditorMapLayer.tscn
@@ -54,10 +54,11 @@
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_k8b5h")
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+region_rect = Rect2(0, 0, 36, 36)
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="VisibleButton" type="TextureButton" parent="VBoxContainer/ScrollContainer/LayerButton"]
layout_mode = 1
diff --git a/DungeonShooting_Godot/prefab/ui/MapEditorMapMark.tscn b/DungeonShooting_Godot/prefab/ui/MapEditorMapMark.tscn
index cfac2e0..6f07965 100644
--- a/DungeonShooting_Godot/prefab/ui/MapEditorMapMark.tscn
+++ b/DungeonShooting_Godot/prefab/ui/MapEditorMapMark.tscn
@@ -136,10 +136,10 @@
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_jpt3y")
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="WaveVisibleButton" type="Button" parent="VBoxContainer/ScrollContainer/VBoxContainer/WaveItem/WaveContainer"]
custom_minimum_size = Vector2(36, 36)
@@ -192,7 +192,7 @@
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("6_jpt3y")
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
diff --git a/DungeonShooting_Godot/prefab/ui/MapEditorMapTile.tscn b/DungeonShooting_Godot/prefab/ui/MapEditorMapTile.tscn
index 49c7fd0..1f4e300 100644
--- a/DungeonShooting_Godot/prefab/ui/MapEditorMapTile.tscn
+++ b/DungeonShooting_Godot/prefab/ui/MapEditorMapTile.tscn
@@ -157,10 +157,10 @@
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("5_f4thw")
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="TerrainName" type="Label" parent="VBoxContainer/Panel/MarginContainer/Tab2/ScrollContainer/TerrainItem"]
layout_mode = 1
@@ -260,10 +260,10 @@
grow_vertical = 2
texture = ExtResource("5_f4thw")
region_rect = Rect2(0, 0, 36, 36)
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="MaskBg" type="ColorRect" parent="."]
layout_mode = 1
diff --git a/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn b/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn
index 183f7b3..e250984 100644
--- a/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn
+++ b/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn
@@ -98,10 +98,10 @@
grow_vertical = 2
texture = ExtResource("5_rcbyx")
region_rect = Rect2(0, 0, 36, 36)
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="Panel2" type="Panel" parent="HBoxContainer"]
layout_mode = 2
@@ -212,10 +212,10 @@
grow_vertical = 2
texture = ExtResource("5_rcbyx")
region_rect = Rect2(0, 0, 36, 36)
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="ErrorTexture" type="TextureRect" parent="HBoxContainer/Panel2/MarginContainer/VBoxContainer/ScrollContainer/RoomButton"]
layout_mode = 0
diff --git a/DungeonShooting_Godot/prefab/ui/MapEditorSelectObject.tscn b/DungeonShooting_Godot/prefab/ui/MapEditorSelectObject.tscn
index 041820f..0460256 100644
--- a/DungeonShooting_Godot/prefab/ui/MapEditorSelectObject.tscn
+++ b/DungeonShooting_Godot/prefab/ui/MapEditorSelectObject.tscn
@@ -73,10 +73,11 @@
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_4nhjm")
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+region_rect = Rect2(0, 0, 36, 36)
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="Panel2" type="Panel" parent="HBoxContainer"]
layout_mode = 2
diff --git a/DungeonShooting_Godot/prefab/ui/TileSetEditor.tscn b/DungeonShooting_Godot/prefab/ui/TileSetEditor.tscn
index d602c57..acaf335 100644
--- a/DungeonShooting_Godot/prefab/ui/TileSetEditor.tscn
+++ b/DungeonShooting_Godot/prefab/ui/TileSetEditor.tscn
@@ -152,10 +152,10 @@
grow_vertical = 2
texture = ExtResource("4_t8bqb")
region_rect = Rect2(0, 0, 36, 36)
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="RightRoot" type="Panel" parent="Bg/VBoxContainer/HBoxContainer"]
clip_children = 2
diff --git a/DungeonShooting_Godot/prefab/ui/TileSetEditorCombination.tscn b/DungeonShooting_Godot/prefab/ui/TileSetEditorCombination.tscn
index 4a4806a..44a597c 100644
--- a/DungeonShooting_Godot/prefab/ui/TileSetEditorCombination.tscn
+++ b/DungeonShooting_Godot/prefab/ui/TileSetEditorCombination.tscn
@@ -299,7 +299,7 @@
grow_vertical = 2
texture = ExtResource("6_g5ey6")
region_rect = Rect2(0, 0, 36, 36)
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
diff --git a/DungeonShooting_Godot/prefab/ui/TileSetEditorProject.tscn b/DungeonShooting_Godot/prefab/ui/TileSetEditorProject.tscn
index 2ab1e70..c94d564 100644
--- a/DungeonShooting_Godot/prefab/ui/TileSetEditorProject.tscn
+++ b/DungeonShooting_Godot/prefab/ui/TileSetEditorProject.tscn
@@ -119,10 +119,10 @@
grow_vertical = 2
texture = ExtResource("5_l4lwx")
region_rect = Rect2(0, 0, 36, 36)
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="Panel" type="Panel" parent="Panel/MarginContainer/HBoxContainer2"]
layout_mode = 2
diff --git a/DungeonShooting_Godot/prefab/ui/TileSetEditorTerrain.tscn b/DungeonShooting_Godot/prefab/ui/TileSetEditorTerrain.tscn
index 9bb5cd2..924a7c8 100644
--- a/DungeonShooting_Godot/prefab/ui/TileSetEditorTerrain.tscn
+++ b/DungeonShooting_Godot/prefab/ui/TileSetEditorTerrain.tscn
@@ -124,10 +124,10 @@
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_ka47m")
-patch_margin_left = 3
-patch_margin_top = 3
-patch_margin_right = 3
-patch_margin_bottom = 3
+patch_margin_left = 4
+patch_margin_top = 4
+patch_margin_right = 4
+patch_margin_bottom = 4
[node name="TopBg" type="ColorRect" parent="VSplitContainer/PanelTop/HSplitContainer"]
clip_children = 2
diff --git a/DungeonShooting_Godot/prefab/weapon/Weapon0004.tscn b/DungeonShooting_Godot/prefab/weapon/Weapon0004.tscn
index 9450803..5fe50df 100644
--- a/DungeonShooting_Godot/prefab/weapon/Weapon0004.tscn
+++ b/DungeonShooting_Godot/prefab/weapon/Weapon0004.tscn
@@ -46,7 +46,7 @@
[node name="AnimatedSprite" parent="." index="1"]
material = SubResource("ShaderMaterial_rtliw")
-position = Vector2(10, 1)
+position = Vector2(10, 0)
sprite_frames = ExtResource("4_uymcs")
[node name="ShellPoint" parent="AnimatedSprite" index="0"]
diff --git a/DungeonShooting_Godot/resource/sprite/ui/GUI.png b/DungeonShooting_Godot/resource/sprite/ui/GUI.png
index 56475ca..92c14e0 100644
--- a/DungeonShooting_Godot/resource/sprite/ui/GUI.png
+++ b/DungeonShooting_Godot/resource/sprite/ui/GUI.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/ui/commonIcon/Select2.png b/DungeonShooting_Godot/resource/sprite/ui/commonIcon/Select2.png
index b38861f..6a70568 100644
--- a/DungeonShooting_Godot/resource/sprite/ui/commonIcon/Select2.png
+++ b/DungeonShooting_Godot/resource/sprite/ui/commonIcon/Select2.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Item.png b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Item.png
new file mode 100644
index 0000000..de6b323
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Item.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Item.png.import b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Item.png.import
new file mode 100644
index 0000000..7f02a18
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Item.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cu5y32wfai4pn"
+path="res://.godot/imported/Item.png-58bd34d7709452cf6ae6a4fd164bc305.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/ui/encyclopedia/Item.png"
+dest_files=["res://.godot/imported/Item.png-58bd34d7709452cf6ae6a4fd164bc305.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/resource/sprite/ui/encyclopedia/Panel.png b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Panel.png
new file mode 100644
index 0000000..1dc781c
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Panel.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Panel.png.import b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Panel.png.import
new file mode 100644
index 0000000..0134426
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Panel.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://conjg6fw6670x"
+path="res://.godot/imported/Panel.png-08c85561f9ba92cb98c43d7cf676dc7b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/ui/encyclopedia/Panel.png"
+dest_files=["res://.godot/imported/Panel.png-08c85561f9ba92cb98c43d7cf676dc7b.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/resource/sprite/ui/encyclopedia/Select.png b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Select.png
new file mode 100644
index 0000000..8b81902
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Select.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Select.png.import b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Select.png.import
new file mode 100644
index 0000000..e5ffdeb
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/Select.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://brevrlfdtllmk"
+path="res://.godot/imported/Select.png-ff59a06a7a05be5c95bf722fa4889a19.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/ui/encyclopedia/Select.png"
+dest_files=["res://.godot/imported/Select.png-ff59a06a7a05be5c95bf722fa4889a19.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/resource/sprite/ui/encyclopedia/TitleBg.png b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/TitleBg.png
new file mode 100644
index 0000000..45a7651
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/TitleBg.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/TitleBg.png.import b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/TitleBg.png.import
new file mode 100644
index 0000000..0dc7a2f
--- /dev/null
+++ b/DungeonShooting_Godot/resource/sprite/ui/encyclopedia/TitleBg.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0st2iiql8igg"
+path="res://.godot/imported/TitleBg.png-d91e021730751da9f4cb4810f02a912b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/sprite/ui/encyclopedia/TitleBg.png"
+dest_files=["res://.godot/imported/TitleBg.png-d91e021730751da9f4cb4810f02a912b.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/resource/sprite/weapon/weapon0004/Weapon0004.png b/DungeonShooting_Godot/resource/sprite/weapon/weapon0004/Weapon0004.png
index cf38cf3..fcce780 100644
--- a/DungeonShooting_Godot/resource/sprite/weapon/weapon0004/Weapon0004.png
+++ b/DungeonShooting_Godot/resource/sprite/weapon/weapon0004/Weapon0004.png
Binary files differ
diff --git a/DungeonShooting_Godot/scene/Hall.tscn b/DungeonShooting_Godot/scene/Hall.tscn
index 183929b..7278316 100644
--- a/DungeonShooting_Godot/scene/Hall.tscn
+++ b/DungeonShooting_Godot/scene/Hall.tscn
@@ -121,7 +121,7 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0006" index="0"]
position = Vector2(-10, -3)
texture = ExtResource("7_30qwa")
@@ -133,7 +133,7 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="1"]
+[node name="ActivityInstance" type="Node2D" parent="ItemRoot/Item0008" index="0"]
position = Vector2(2.5, -12)
script = ExtResource("5_lowqi")
Id = "item_0031"
@@ -149,7 +149,7 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="1"]
+[node name="Item26" type="Sprite2D" parent="ItemRoot/Item0013" index="0"]
position = Vector2(18, -2)
texture = ExtResource("8_61dkg")
@@ -161,19 +161,19 @@
ShowOffset = Vector2(2.08165e-12, 2)
CollisionVisible = false
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0017" index="0"]
position = Vector2(-2, -13)
texture = ExtResource("8_u3vry")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0017" index="1"]
position = Vector2(18, -11)
texture = ExtResource("9_lhdr8")
-[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
+[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0017" index="2"]
position = Vector2(-16, -2)
texture = ExtResource("10_4eqn0")
-[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="4"]
+[node name="Sprite2D4" type="Sprite2D" parent="ItemRoot/Item0017" index="3"]
position = Vector2(10, -1)
texture = ExtResource("11_tg3jo")
@@ -199,11 +199,11 @@
DefaultLayer = 1
CollisionVisible = false
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0002" index="0"]
position = Vector2(32, -2)
texture = ExtResource("12_agfji")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0002" index="1"]
material = SubResource("ShaderMaterial_i7git")
position = Vector2(-1, -15)
scale = Vector2(1, -1)
@@ -221,7 +221,7 @@
Id = "item_0004"
DefaultLayer = 1
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0004" index="0"]
position = Vector2(0, -17)
texture = ExtResource("13_unnpl")
@@ -255,15 +255,15 @@
Id = "item_0009"
DefaultLayer = 1
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0009" index="0"]
position = Vector2(-24, -10)
texture = ExtResource("15_h7524")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0009" index="1"]
position = Vector2(1, -10)
texture = ExtResource("15_h7524")
-[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="3"]
+[node name="Sprite2D3" type="Sprite2D" parent="ItemRoot/Item0009" index="2"]
position = Vector2(37, -10)
texture = ExtResource("15_h7524")
@@ -297,7 +297,7 @@
Id = "item_0015"
DefaultLayer = 1
-[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="1"]
+[node name="Slice04" type="Sprite2D" parent="ItemRoot/Item0015" index="0"]
position = Vector2(16, -9)
texture = ExtResource("15_h7524")
@@ -319,11 +319,11 @@
Id = "item_0019"
DefaultLayer = 1
-[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
+[node name="Sprite2D" type="Sprite2D" parent="ItemRoot/Item0019" index="0"]
position = Vector2(-23, -7)
texture = ExtResource("16_xj0e1")
-[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="2"]
+[node name="Sprite2D2" type="Sprite2D" parent="ItemRoot/Item0019" index="1"]
position = Vector2(24, -8)
texture = ExtResource("17_gwwce")
diff --git a/DungeonShooting_Godot/src/framework/common/Utils.cs b/DungeonShooting_Godot/src/framework/common/Utils.cs
index 07b4751..416b796 100644
--- a/DungeonShooting_Godot/src/framework/common/Utils.cs
+++ b/DungeonShooting_Godot/src/framework/common/Utils.cs
@@ -343,9 +343,9 @@
///
/// 计算Vector2点所占用的区域
///
- public static Rect2I CalcRect(IEnumerable cells)
+ public static Rect2I CalcRect(ICollection cells)
{
- var count = cells.Count();
+ var count = cells.Count;
if (count == 0)
{
return new Rect2I();
diff --git a/DungeonShooting_Godot/src/framework/ui/UiBase.cs b/DungeonShooting_Godot/src/framework/ui/UiBase.cs
index 0e11d89..2827ffe 100644
--- a/DungeonShooting_Godot/src/framework/ui/UiBase.cs
+++ b/DungeonShooting_Godot/src/framework/ui/UiBase.cs
@@ -81,6 +81,23 @@
UiManager.RecordUi(this, UiManager.RecordType.Open);
}
+ public sealed override void _Ready()
+ {
+ if (Math.Abs(Scale.X - 1f) > 0.001f)
+ {
+ Resized += OnResizeUi;
+ }
+ }
+
+ private void OnResizeUi()
+ {
+ if (ParentUi == null)
+ {
+ var viewportSize = GameApplication.Instance.ViewportSize;
+ Size = viewportSize;
+ }
+ }
+
///
/// 创建当前ui时调用
///
diff --git a/DungeonShooting_Godot/src/framework/ui/grid/UiCell.cs b/DungeonShooting_Godot/src/framework/ui/grid/UiCell.cs
index 3a1e5fc..7cbb2d5 100644
--- a/DungeonShooting_Godot/src/framework/ui/grid/UiCell.cs
+++ b/DungeonShooting_Godot/src/framework/ui/grid/UiCell.cs
@@ -1,5 +1,6 @@
using System;
+using System.Collections;
using Godot;
///
@@ -50,6 +51,13 @@
{
}
+ ///
+ /// 当前cell被分配值时调用,该函数为协程函数,当仅在 Grid 中调研 SetDataListCoroutine() 函数时才会被调用
+ ///
+ public virtual IEnumerator OnSetDataCoroutine(T data)
+ {
+ yield break;
+ }
public virtual void Process(float delta)
{
@@ -126,12 +134,20 @@
}
///
- /// 设置当前 Cell 的值, 该函数由 UiGrid 调用
+ /// 更新当前 Cell 的值, 该函数由 UiGrid 调用
+ ///
+ public void UpdateData(T data)
+ {
+ Data = data;
+ OnSetData(data);
+ }
+
+ ///
+ /// 设置当前 Cell 的值, 该函数由 UiGrid 调用,该函数为协程函数
///
public void SetData(T data)
{
Data = data;
- OnSetData(data);
}
///
diff --git a/DungeonShooting_Godot/src/framework/ui/grid/UiGrid.cs b/DungeonShooting_Godot/src/framework/ui/grid/UiGrid.cs
index 092102b..15ba72b 100644
--- a/DungeonShooting_Godot/src/framework/ui/grid/UiGrid.cs
+++ b/DungeonShooting_Godot/src/framework/ui/grid/UiGrid.cs
@@ -1,6 +1,7 @@
using System;
+using System.Collections;
using System.Collections.Generic;
using Godot;
@@ -342,7 +343,22 @@
for (var i = 0; i < _cellList.Count; i++)
{
var data = array[i];
- _cellList[i].SetData(data);
+ _cellList[i].UpdateData(data);
+ }
+ }
+
+ ///
+ /// 设置当前网格组件中的所有 Cell 数据, 该函数为协程函数,可用于分帧处理大量数据
+ ///
+ public IEnumerator SetDataListCoroutine(ICollection array)
+ {
+ RemoveAll();
+ foreach (var data in array)
+ {
+ var cell = GetCellInstance();
+ GridContainer.AddChild(cell.CellNode.GetUiInstance());
+ cell.SetData(data);
+ yield return cell.OnSetDataCoroutine(data);
}
}
@@ -353,7 +369,7 @@
{
var cell = GetCellInstance();
GridContainer.AddChild(cell.CellNode.GetUiInstance());
- cell.SetData(data);
+ cell.UpdateData(data);
if (select)
{
SelectIndex = Count - 1;
@@ -368,7 +384,7 @@
var uiCell = GetCell(index);
if (uiCell != null)
{
- uiCell.SetData(data);
+ uiCell.UpdateData(data);
}
}
diff --git a/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs b/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs
index 806f085..f3f086c 100644
--- a/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs
+++ b/DungeonShooting_Godot/src/game/ui/encyclopedia/Encyclopedia.cs
@@ -6,17 +6,43 @@
public abstract partial class Encyclopedia : UiBase
{
///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.ColorRect
///
- public Panel2 L_Panel2
+ public ColorRect L_ColorRect
{
get
{
- if (_L_Panel2 == null) _L_Panel2 = new Panel2((EncyclopediaPanel)this, GetNode("Panel2"));
- return _L_Panel2;
+ if (_L_ColorRect == null) _L_ColorRect = new ColorRect((EncyclopediaPanel)this, GetNode("ColorRect"));
+ return _L_ColorRect;
}
}
- private Panel2 _L_Panel2;
+ private ColorRect _L_ColorRect;
+
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect
+ ///
+ public NinePatchRect L_NinePatchRect
+ {
+ get
+ {
+ if (_L_NinePatchRect == null) _L_NinePatchRect = new NinePatchRect((EncyclopediaPanel)this, GetNode("NinePatchRect"));
+ return _L_NinePatchRect;
+ }
+ }
+ private NinePatchRect _L_NinePatchRect;
+
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Gui
+ ///
+ public Gui L_Gui
+ {
+ get
+ {
+ if (_L_Gui == null) _L_Gui = new Gui((EncyclopediaPanel)this, GetNode("Gui"));
+ return _L_Gui;
+ }
+ }
+ private Gui _L_Gui;
public Encyclopedia() : base(nameof(Encyclopedia))
@@ -29,82 +55,56 @@
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.LineEdit
+ /// 类型: , 路径: Encyclopedia.ColorRect
///
- public class LineEdit : UiNode
+ public class ColorRect : UiNode
{
- public LineEdit(EncyclopediaPanel uiPanel, Godot.LineEdit node) : base(uiPanel, node) { }
- public override LineEdit Clone() => new (UiPanel, (Godot.LineEdit)Instance.Duplicate());
+ public ColorRect(EncyclopediaPanel uiPanel, Godot.ColorRect node) : base(uiPanel, node) { }
+ public override ColorRect Clone() => new (UiPanel, (Godot.ColorRect)Instance.Duplicate());
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.Search
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.TextureRect.Label
///
- public class Search : UiNode
+ public class Label : UiNode
{
- public Search(EncyclopediaPanel uiPanel, Godot.Button node) : base(uiPanel, node) { }
- public override Search Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
+ public Label(EncyclopediaPanel uiPanel, Godot.Label node) : base(uiPanel, node) { }
+ public override Label Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate());
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.TextureRect
///
- public class HBoxContainer : UiNode
+ public class TextureRect : UiNode
{
///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.LineEdit
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.Label
///
- public LineEdit L_LineEdit
+ public Label L_Label
{
get
{
- if (_L_LineEdit == null) _L_LineEdit = new LineEdit(UiPanel, Instance.GetNode("LineEdit"));
- return _L_LineEdit;
+ if (_L_Label == null) _L_Label = new Label(UiPanel, Instance.GetNode("Label"));
+ return _L_Label;
}
}
- private LineEdit _L_LineEdit;
+ private Label _L_Label;
- ///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.Search
- ///
- public Search L_Search
- {
- get
- {
- if (_L_Search == null) _L_Search = new Search(UiPanel, Instance.GetNode("Search"));
- return _L_Search;
- }
- }
- private Search _L_Search;
-
- public HBoxContainer(EncyclopediaPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { }
- public override HBoxContainer Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate());
+ public TextureRect(EncyclopediaPanel uiPanel, Godot.TextureRect node) : base(uiPanel, node) { }
+ public override TextureRect Clone() => new (UiPanel, (Godot.TextureRect)Instance.Duplicate());
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.Bg
///
- public class MarginContainer_1 : UiNode
+ public class Bg : UiNode
{
- ///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.HBoxContainer
- ///
- public HBoxContainer L_HBoxContainer
- {
- get
- {
- if (_L_HBoxContainer == null) _L_HBoxContainer = new HBoxContainer(UiPanel, Instance.GetNode("HBoxContainer"));
- return _L_HBoxContainer;
- }
- }
- private HBoxContainer _L_HBoxContainer;
-
- public MarginContainer_1(EncyclopediaPanel uiPanel, Godot.MarginContainer node) : base(uiPanel, node) { }
- public override MarginContainer_1 Clone() => new (UiPanel, (Godot.MarginContainer)Instance.Duplicate());
+ public Bg(EncyclopediaPanel uiPanel, Godot.NinePatchRect node) : base(uiPanel, node) { }
+ public override Bg Clone() => new (UiPanel, (Godot.NinePatchRect)Instance.Duplicate());
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.PreviewImage
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.PreviewImage
///
public class PreviewImage : UiNode
{
@@ -113,16 +113,7 @@
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.ObjectName
- ///
- public class ObjectName : UiNode
- {
- public ObjectName(EncyclopediaPanel uiPanel, Godot.Label node) : base(uiPanel, node) { }
- public override ObjectName Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate());
- }
-
- ///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.Select
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.Select
///
public class Select : UiNode
{
@@ -131,12 +122,25 @@
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton
///
- public class ObjectButton : UiNode
+ public class ObjectButton : UiNode
{
///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.PreviewImage
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.Bg
+ ///
+ public Bg L_Bg
+ {
+ get
+ {
+ if (_L_Bg == null) _L_Bg = new Bg(UiPanel, Instance.GetNode("Bg"));
+ return _L_Bg;
+ }
+ }
+ private Bg _L_Bg;
+
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.PreviewImage
///
public PreviewImage L_PreviewImage
{
@@ -149,20 +153,7 @@
private PreviewImage _L_PreviewImage;
///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectName
- ///
- public ObjectName L_ObjectName
- {
- get
- {
- if (_L_ObjectName == null) _L_ObjectName = new ObjectName(UiPanel, Instance.GetNode("ObjectName"));
- return _L_ObjectName;
- }
- }
- private ObjectName _L_ObjectName;
-
- ///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.Select
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.Select
///
public Select L_Select
{
@@ -174,23 +165,23 @@
}
private Select _L_Select;
- public ObjectButton(EncyclopediaPanel uiPanel, Godot.Button node) : base(uiPanel, node) { }
- public override ObjectButton Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
+ public ObjectButton(EncyclopediaPanel uiPanel, Godot.TextureButton node) : base(uiPanel, node) { }
+ public override ObjectButton Clone() => new (UiPanel, (Godot.TextureButton)Instance.Duplicate());
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer
///
public class ScrollContainer : UiNode
{
///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ObjectButton
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ObjectButton
///
public ObjectButton L_ObjectButton
{
get
{
- if (_L_ObjectButton == null) _L_ObjectButton = new ObjectButton(UiPanel, Instance.GetNode("ObjectButton"));
+ if (_L_ObjectButton == null) _L_ObjectButton = new ObjectButton(UiPanel, Instance.GetNode("ObjectButton"));
return _L_ObjectButton;
}
}
@@ -201,25 +192,12 @@
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect
///
- public class VBoxContainer2 : UiNode
+ public class NinePatchRect_1 : UiNode
{
///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.MarginContainer
- ///
- public MarginContainer_1 L_MarginContainer
- {
- get
- {
- if (_L_MarginContainer == null) _L_MarginContainer = new MarginContainer_1(UiPanel, Instance.GetNode("MarginContainer"));
- return _L_MarginContainer;
- }
- }
- private MarginContainer_1 _L_MarginContainer;
-
- ///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.ScrollContainer
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.ScrollContainer
///
public ScrollContainer L_ScrollContainer
{
@@ -231,17 +209,114 @@
}
private ScrollContainer _L_ScrollContainer;
+ public NinePatchRect_1(EncyclopediaPanel uiPanel, Godot.NinePatchRect node) : base(uiPanel, node) { }
+ public override NinePatchRect_1 Clone() => new (UiPanel, (Godot.NinePatchRect)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2
+ ///
+ public class VBoxContainer2 : UiNode
+ {
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.NinePatchRect
+ ///
+ public NinePatchRect_1 L_NinePatchRect
+ {
+ get
+ {
+ if (_L_NinePatchRect == null) _L_NinePatchRect = new NinePatchRect_1(UiPanel, Instance.GetNode("NinePatchRect"));
+ return _L_NinePatchRect;
+ }
+ }
+ private NinePatchRect_1 _L_NinePatchRect;
+
public VBoxContainer2(EncyclopediaPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { }
public override VBoxContainer2 Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate());
}
///
- /// 类型: , 路径: Encyclopedia.Panel2.MarginContainer
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3.NinePatchRect.VBoxContainer.TextureRect
///
- public class MarginContainer : UiNode
+ public class TextureRect_1 : UiNode
+ {
+ public TextureRect_1(EncyclopediaPanel uiPanel, Godot.TextureRect node) : base(uiPanel, node) { }
+ public override TextureRect_1 Clone() => new (UiPanel, (Godot.TextureRect)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3.NinePatchRect.VBoxContainer
+ ///
+ public class VBoxContainer : UiNode
{
///
- /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.Panel2.VBoxContainer2
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3.NinePatchRect.TextureRect
+ ///
+ public TextureRect_1 L_TextureRect
+ {
+ get
+ {
+ if (_L_TextureRect == null) _L_TextureRect = new TextureRect_1(UiPanel, Instance.GetNode("TextureRect"));
+ return _L_TextureRect;
+ }
+ }
+ private TextureRect_1 _L_TextureRect;
+
+ public VBoxContainer(EncyclopediaPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { }
+ public override VBoxContainer Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3.NinePatchRect
+ ///
+ public class NinePatchRect_2 : UiNode
+ {
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3.VBoxContainer
+ ///
+ public VBoxContainer L_VBoxContainer
+ {
+ get
+ {
+ if (_L_VBoxContainer == null) _L_VBoxContainer = new VBoxContainer(UiPanel, Instance.GetNode("VBoxContainer"));
+ return _L_VBoxContainer;
+ }
+ }
+ private VBoxContainer _L_VBoxContainer;
+
+ public NinePatchRect_2(EncyclopediaPanel uiPanel, Godot.NinePatchRect node) : base(uiPanel, node) { }
+ public override NinePatchRect_2 Clone() => new (UiPanel, (Godot.NinePatchRect)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3
+ ///
+ public class VBoxContainer3 : UiNode
+ {
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.NinePatchRect
+ ///
+ public NinePatchRect_2 L_NinePatchRect
+ {
+ get
+ {
+ if (_L_NinePatchRect == null) _L_NinePatchRect = new NinePatchRect_2(UiPanel, Instance.GetNode("NinePatchRect"));
+ return _L_NinePatchRect;
+ }
+ }
+ private NinePatchRect_2 _L_NinePatchRect;
+
+ public VBoxContainer3(EncyclopediaPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { }
+ public override VBoxContainer3 Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer
+ ///
+ public class HBoxContainer : UiNode
+ {
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.VBoxContainer2
///
public VBoxContainer2 L_VBoxContainer2
{
@@ -253,16 +328,64 @@
}
private VBoxContainer2 _L_VBoxContainer2;
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.VBoxContainer3
+ ///
+ public VBoxContainer3 L_VBoxContainer3
+ {
+ get
+ {
+ if (_L_VBoxContainer3 == null) _L_VBoxContainer3 = new VBoxContainer3(UiPanel, Instance.GetNode("VBoxContainer3"));
+ return _L_VBoxContainer3;
+ }
+ }
+ private VBoxContainer3 _L_VBoxContainer3;
+
+ public HBoxContainer(EncyclopediaPanel uiPanel, Godot.HBoxContainer node) : base(uiPanel, node) { }
+ public override HBoxContainer Clone() => new (UiPanel, (Godot.HBoxContainer)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.NinePatchRect.MarginContainer
+ ///
+ public class MarginContainer : UiNode
+ {
+ ///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.HBoxContainer
+ ///
+ public HBoxContainer L_HBoxContainer
+ {
+ get
+ {
+ if (_L_HBoxContainer == null) _L_HBoxContainer = new HBoxContainer(UiPanel, Instance.GetNode("HBoxContainer"));
+ return _L_HBoxContainer;
+ }
+ }
+ private HBoxContainer _L_HBoxContainer;
+
public MarginContainer(EncyclopediaPanel uiPanel, Godot.MarginContainer node) : base(uiPanel, node) { }
public override MarginContainer Clone() => new (UiPanel, (Godot.MarginContainer)Instance.Duplicate());
}
///
- /// 类型: , 路径: Encyclopedia.Panel2
+ /// 类型: , 路径: Encyclopedia.NinePatchRect
///
- public class Panel2 : UiNode
+ public class NinePatchRect : UiNode
{
///
+ /// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.TextureRect
+ ///
+ public TextureRect L_TextureRect
+ {
+ get
+ {
+ if (_L_TextureRect == null) _L_TextureRect = new TextureRect(UiPanel, Instance.GetNode("TextureRect"));
+ return _L_TextureRect;
+ }
+ }
+ private TextureRect _L_TextureRect;
+
+ ///
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: , 节点路径: Encyclopedia.MarginContainer
///
public MarginContainer L_MarginContainer
@@ -275,59 +398,83 @@
}
private MarginContainer _L_MarginContainer;
- public Panel2(EncyclopediaPanel uiPanel, Godot.Panel node) : base(uiPanel, node) { }
- public override Panel2 Clone() => new (UiPanel, (Godot.Panel)Instance.Duplicate());
+ public NinePatchRect(EncyclopediaPanel uiPanel, Godot.NinePatchRect node) : base(uiPanel, node) { }
+ public override NinePatchRect Clone() => new (UiPanel, (Godot.NinePatchRect)Instance.Duplicate());
+ }
+
+ ///
+ /// 类型: , 路径: Encyclopedia.Gui
+ ///
+ public class Gui : UiNode
+ {
+ public Gui(EncyclopediaPanel uiPanel, Godot.Sprite2D node) : base(uiPanel, node) { }
+ public override Gui Clone() => new (UiPanel, (Godot.Sprite2D)Instance.Duplicate());
}
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.LineEdit
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.ColorRect
///
- public LineEdit S_LineEdit => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_MarginContainer.L_HBoxContainer.L_LineEdit;
+ public ColorRect S_ColorRect => L_ColorRect;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.Search
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.TextureRect.Label
///
- public Search S_Search => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_MarginContainer.L_HBoxContainer.L_Search;
+ public Label S_Label => L_NinePatchRect.L_TextureRect.L_Label;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.Bg
///
- public HBoxContainer S_HBoxContainer => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_MarginContainer.L_HBoxContainer;
+ public Bg S_Bg => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_NinePatchRect.L_ScrollContainer.L_ObjectButton.L_Bg;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.PreviewImage
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.PreviewImage
///
- public PreviewImage S_PreviewImage => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton.L_PreviewImage;
+ public PreviewImage S_PreviewImage => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_NinePatchRect.L_ScrollContainer.L_ObjectButton.L_PreviewImage;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.ObjectName
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton.Select
///
- public ObjectName S_ObjectName => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton.L_ObjectName;
+ public Select S_Select => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_NinePatchRect.L_ScrollContainer.L_ObjectButton.L_Select;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.Select
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer.ObjectButton
///
- public Select S_Select => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton.L_Select;
+ public ObjectButton S_ObjectButton => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_NinePatchRect.L_ScrollContainer.L_ObjectButton;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2.NinePatchRect.ScrollContainer
///
- public ObjectButton S_ObjectButton => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton;
+ public ScrollContainer S_ScrollContainer => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2.L_NinePatchRect.L_ScrollContainer;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer2
///
- public ScrollContainer S_ScrollContainer => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer;
+ public VBoxContainer2 S_VBoxContainer2 => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer2;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3.NinePatchRect.VBoxContainer
///
- public VBoxContainer2 S_VBoxContainer2 => L_Panel2.L_MarginContainer.L_VBoxContainer2;
+ public VBoxContainer S_VBoxContainer => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer3.L_NinePatchRect.L_VBoxContainer;
///
- /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Panel2
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer.VBoxContainer3
///
- public Panel2 S_Panel2 => L_Panel2;
+ public VBoxContainer3 S_VBoxContainer3 => L_NinePatchRect.L_MarginContainer.L_HBoxContainer.L_VBoxContainer3;
+
+ ///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer.HBoxContainer
+ ///
+ public HBoxContainer S_HBoxContainer => L_NinePatchRect.L_MarginContainer.L_HBoxContainer;
+
+ ///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.NinePatchRect.MarginContainer
+ ///
+ public MarginContainer S_MarginContainer => L_NinePatchRect.L_MarginContainer;
+
+ ///
+ /// 场景中唯一名称的节点, 节点类型: , 节点路径: Encyclopedia.Gui
+ ///
+ public Gui S_Gui => L_Gui;
}
diff --git a/DungeonShooting_Godot/src/game/ui/encyclopedia/EncyclopediaPanel.cs b/DungeonShooting_Godot/src/game/ui/encyclopedia/EncyclopediaPanel.cs
index 06c3005..3d16e87 100644
--- a/DungeonShooting_Godot/src/game/ui/encyclopedia/EncyclopediaPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/encyclopedia/EncyclopediaPanel.cs
@@ -1,3 +1,5 @@
+using System.Linq;
+using Config;
using Godot;
namespace UI.Encyclopedia;
@@ -5,9 +7,16 @@
public partial class EncyclopediaPanel : Encyclopedia
{
+ private UiGrid _grid;
+ private long _id;
+
public override void OnCreateUi()
{
-
+ _grid = CreateUiGrid(S_ObjectButton);
+ _grid.SetHorizontalExpand(true);
+ _grid.SetAutoColumns(true);
+ _grid.SetCellOffset(new Vector2I(10, 10));
+ ShowWeaponItem();
}
public override void OnDestroyUi()
@@ -15,4 +24,14 @@
}
+ private void ShowWeaponItem()
+ {
+ StopCoroutine(_id);
+ _id = StartCoroutine(
+ _grid.SetDataListCoroutine(
+ ExcelConfig.ActivityBase_List.Where(data => data.Type == ActivityType.Weapon).ToArray()
+ )
+ );
+ }
+
}
diff --git a/DungeonShooting_Godot/src/game/ui/encyclopedia/ItemCell.cs b/DungeonShooting_Godot/src/game/ui/encyclopedia/ItemCell.cs
new file mode 100644
index 0000000..ed018ed
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/ui/encyclopedia/ItemCell.cs
@@ -0,0 +1,28 @@
+using System.Collections;
+using Config;
+
+namespace UI.Encyclopedia;
+
+public class ItemCell : UiCell
+{
+ public override void OnInit()
+ {
+ CellNode.L_Select.Instance.Visible = false;
+ }
+
+ public override IEnumerator OnSetDataCoroutine(ExcelConfig.ActivityBase data)
+ {
+ CellNode.L_PreviewImage.Instance.Texture = ResourceManager.LoadTexture2D(data.Icon);
+ yield break;
+ }
+
+ public override void OnSelect()
+ {
+ CellNode.L_Select.Instance.Visible = true;
+ }
+
+ public override void OnUnSelect()
+ {
+ CellNode.L_Select.Instance.Visible = false;
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
index 638b735..f53ef8e 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
@@ -430,7 +430,7 @@
//为了引用不变, 所以这里使用克隆数据
dataMarkInfo.CloneFrom(mark);
//刷新 Cell
- markCell.SetData(markCell.Data);
+ markCell.UpdateData(markCell.Data);
//执行排序
markCell.Grid.Sort();
EventManager.EmitEvent(EventEnum.OnEditMark, dataMarkInfo);
diff --git a/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/leftBottom/TileEditArea.cs b/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/leftBottom/TileEditArea.cs
index 3dda271..9810361 100644
--- a/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/leftBottom/TileEditArea.cs
+++ b/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/leftBottom/TileEditArea.cs
@@ -81,7 +81,7 @@
if (uiCell != null && !uiCell.Data)
{
_useMask.Add(cell);
- uiCell.SetData(true);
+ uiCell.UpdateData(true);
EventManager.EmitEvent(EventEnum.OnSelectCombinationCell, cell);
}
@@ -100,7 +100,7 @@
if (uiCell != null && uiCell.Data)
{
_useMask.Remove(cell);
- uiCell.SetData(false);
+ uiCell.UpdateData(false);
EventManager.EmitEvent(EventEnum.OnRemoveCombinationCell, cell);
}
@@ -119,7 +119,7 @@
var uiCell = _maskGrid.GetCell(i);
if (uiCell.Data)
{
- uiCell.SetData(false);
+ uiCell.UpdateData(false);
}
}
diff --git a/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/right/TileSelected.cs b/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/right/TileSelected.cs
index 5d546e2..18cf1d5 100644
--- a/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/right/TileSelected.cs
+++ b/DungeonShooting_Godot/src/game/ui/tileSetEditorCombination/right/TileSelected.cs
@@ -65,7 +65,7 @@
var uiCell = Grid.Find(c => c.Data.CombinationInfo.Id == data.CombinationInfo.Id);
if (uiCell != null)
{
- uiCell.SetData(data);
+ uiCell.UpdateData(data);
}
EventManager.EmitEvent(EventEnum.OnTileSetDirty);
}