Merge branch 'develop' of https://gitee.com/xlljc/DungeonShooting into develop

# Conflicts:
#	DungeonShooting_Godot/scene/Hall.tscn
This commit is contained in:
王晗智 2024-03-09 22:53:53 +08:00
commit 86c3e8d7fb
13 changed files with 856 additions and 203 deletions

View File

@ -0,0 +1,134 @@
[gd_scene load_steps=6 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="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"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gm0bl"]
resource_local_to_scene = true
shader = ExtResource("3_o1xl7")
shader_parameter/blend = Color(1, 1, 1, 1)
shader_parameter/schedule = 0.0
shader_parameter/modulate = Color(1, 1, 1, 1)
shader_parameter/show_outline = true
shader_parameter/outline_color = Color(1, 1, 1, 1)
shader_parameter/outline_rainbow = false
shader_parameter/outline_use_blend = true
shader_parameter/grey = 0.0
[node name="Encyclopedia" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource("1_hd86y")
[node name="Panel2" type="Panel" 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
[node name="MarginContainer" type="MarginContainer" parent="Panel2"]
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
[node name="VBoxContainer2" type="VBoxContainer" parent="Panel2/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
[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)
layout_mode = 2
size_flags_vertical = 3
[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
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)
layout_mode = 2
[node name="PreviewImage" type="TextureRect" parent="Panel2/MarginContainer/VBoxContainer2/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
[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"]
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

View File

@ -8,6 +8,8 @@ layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_ef73i")
Layer = 2
@ -50,6 +52,22 @@ focus_neighbor_bottom = NodePath("../Setting")
theme = ExtResource("2_x1py5")
text = "重新开始"
[node name="Encyclopedia" type="Button" parent="VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
focus_neighbor_top = NodePath("../Exit")
focus_neighbor_bottom = NodePath("../Setting")
theme = ExtResource("2_x1py5")
text = "图鉴"
[node name="Setting" type="Button" parent="VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2
focus_neighbor_top = NodePath("../Exit")
focus_neighbor_bottom = NodePath("../Setting")
theme = ExtResource("2_x1py5")
text = "设置"
[node name="Exit" type="Button" parent="VBoxContainer"]
custom_minimum_size = Vector2(0, 50)
layout_mode = 2

View File

@ -22,7 +22,6 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_1uvbk")
metadata/_edit_vertical_guides_ = [960.0, 1220.0]
[node name="Bg" type="ColorRect" parent="."]
layout_mode = 1
@ -33,7 +32,7 @@ grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.588235)
[node name="Control" type="Control" parent="."]
[node name="Root" type="Control" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@ -47,21 +46,21 @@ offset_bottom = -19.0
grow_horizontal = 2
grow_vertical = 2
[node name="RouletteBg" type="Sprite2D" parent="Control"]
[node name="RouletteBg" type="Sprite2D" parent="Root"]
scale = Vector2(4, 4)
texture = ExtResource("2_k6gjh")
[node name="WeaponSlotNode" type="Node2D" parent="Control/RouletteBg"]
[node name="WeaponSlotNode" type="Node2D" parent="Root/RouletteBg"]
script = ExtResource("3_8v011")
[node name="SlotUi" type="Control" parent="Control/RouletteBg/WeaponSlotNode"]
[node name="SlotUi" type="Control" parent="Root/RouletteBg/WeaponSlotNode"]
layout_mode = 3
anchors_preset = 0
offset_left = 65.25
offset_right = 66.25
offset_bottom = 1.0
[node name="WeaponUi" type="Control" parent="Control/RouletteBg/WeaponSlotNode/SlotUi"]
[node name="WeaponUi" type="Control" parent="Root/RouletteBg/WeaponSlotNode/SlotUi"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@ -75,10 +74,10 @@ offset_bottom = 0.5
grow_horizontal = 2
grow_vertical = 2
[node name="WeaponIcon" type="Sprite2D" parent="Control/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"]
[node name="WeaponIcon" type="Sprite2D" parent="Root/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"]
material = SubResource("ShaderMaterial_i1wmw")
[node name="AmmoLabel" type="Label" parent="Control/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"]
[node name="AmmoLabel" type="Label" parent="Root/RouletteBg/WeaponSlotNode/SlotUi/WeaponUi"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@ -96,18 +95,18 @@ text = "0/0"
horizontal_alignment = 1
vertical_alignment = 1
[node name="LockSprite" type="Sprite2D" parent="Control/RouletteBg/WeaponSlotNode/SlotUi"]
[node name="LockSprite" type="Sprite2D" parent="Root/RouletteBg/WeaponSlotNode/SlotUi"]
scale = Vector2(0.25, 0.25)
texture = ExtResource("6_7mog3")
[node name="SlotAreaNode" type="Area2D" parent="Control/RouletteBg/WeaponSlotNode"]
[node name="SlotAreaNode" type="Area2D" parent="Root/RouletteBg/WeaponSlotNode"]
collision_layer = 0
collision_mask = 8192
monitorable = false
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Control/RouletteBg/WeaponSlotNode/SlotAreaNode"]
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Root/RouletteBg/WeaponSlotNode/SlotAreaNode"]
[node name="ColorRect" type="ColorRect" parent="Control"]
[node name="UpBar" type="ColorRect" parent="Root"]
layout_mode = 0
offset_left = -383.0
offset_top = -480.0
@ -115,7 +114,7 @@ offset_right = 385.0
offset_bottom = -424.0
color = Color(0.184314, 0.184314, 0.184314, 0.784314)
[node name="Label" type="Label" parent="Control/ColorRect"]
[node name="Label" type="Label" parent="Root/UpBar"]
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
@ -127,7 +126,7 @@ offset_bottom = 20.0
grow_vertical = 2
text = "按Q上一页"
[node name="Label2" type="Label" parent="Control/ColorRect"]
[node name="Label2" type="Label" parent="Root/UpBar"]
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
@ -142,7 +141,7 @@ grow_horizontal = 0
grow_vertical = 2
text = "按E下一页"
[node name="PageLabel" type="Label" parent="Control/ColorRect"]
[node name="PageLabel" type="Label" parent="Root/UpBar"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@ -157,6 +156,29 @@ grow_horizontal = 2
grow_vertical = 2
text = "1/1"
[node name="DownBar" type="ColorRect" parent="Root"]
layout_mode = 0
offset_left = -96.0
offset_top = 435.0
offset_right = 100.0
offset_bottom = 491.0
color = Color(0.184314, 0.184314, 0.184314, 0.784314)
[node name="Label" type="Label" parent="Root/DownBar"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -84.0
offset_top = -20.0
offset_right = 84.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
text = "按空格丢弃"
[node name="MouseArea" type="Area2D" parent="."]
collision_layer = 8192
collision_mask = 0

View File

@ -14,6 +14,7 @@ public class ResourcePath
public const string prefab_ui_MapEditor_tscn = "res://prefab/ui/MapEditor.tscn";
public const string prefab_ui_PauseMenu_tscn = "res://prefab/ui/PauseMenu.tscn";
public const string prefab_ui_MapEditorMapMark_tscn = "res://prefab/ui/MapEditorMapMark.tscn";
public const string prefab_ui_Encyclopedia_tscn = "res://prefab/ui/Encyclopedia.tscn";
public const string prefab_ui_MapEditorCreateMark_tscn = "res://prefab/ui/MapEditorCreateMark.tscn";
public const string prefab_ui_MapEditorCreateRoom_tscn = "res://prefab/ui/MapEditorCreateRoom.tscn";
public const string prefab_ui_EditorImportCombination_tscn = "res://prefab/ui/EditorImportCombination.tscn";
@ -114,6 +115,7 @@ public class ResourcePath
public const string prefab_item_Item0017_tscn = "res://prefab/item/Item0017.tscn";
public const string prefab_item_Item0056_tscn = "res://prefab/item/Item0056.tscn";
public const string prefab_item_Item0001_tscn = "res://prefab/item/Item0001.tscn";
public const string prefab_item_Item0026_tscn = "res://prefab/item/Item0026.tscn";
public const string prefab_item_Item0006_tscn = "res://prefab/item/Item0006.tscn";
public const string prefab_item_Item0010_tscn = "res://prefab/item/Item0010.tscn";
public const string prefab_item_Item0011_tscn = "res://prefab/item/Item0011.tscn";
@ -152,65 +154,6 @@ public class ResourcePath
public const string prefab_currency_GoldTemplate_tscn = "res://prefab/currency/GoldTemplate.tscn";
public const string prefab_currency_Gold10_tscn = "res://prefab/currency/Gold10.tscn";
public const string prefab_currency_Gold5_tscn = "res://prefab/currency/Gold5.tscn";
public const string build_windows_data_DungeonShooting_windows_x86_64_DungeonShooting_runtimeconfig_json = "res://build/windows/data_DungeonShooting_windows_x86_64/DungeonShooting.runtimeconfig.json";
public const string build_windows_data_DungeonShooting_windows_x86_64_DungeonShooting_deps_json = "res://build/windows/data_DungeonShooting_windows_x86_64/DungeonShooting.deps.json";
public const string build_windows_resource_map_tileMaps_GroupConfig_json = "res://build/windows/resource/map/tileMaps/GroupConfig.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle5_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle5/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle5_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle5/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle5_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle5/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle5_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle5/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle2_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle2/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle2_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle2/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle2_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle2/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle2_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle2/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle3_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle3/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle3_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle3/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle3_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle3/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle3_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle3/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle4_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle4/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle4_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle4/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle4_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle4/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle4_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle4/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle1_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle1/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle1_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle1_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle1/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle1_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle1/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle6_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle6/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle6_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle6/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle6_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle6/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_battle_Battle6_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/battle/Battle6/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_shop_Shop1_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/shop/Shop1/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_shop_Shop1_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/shop/Shop1/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_shop_Shop1_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/shop/Shop1/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_shop_Shop1_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/shop/Shop1/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_boss_Boss1_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/boss/Boss1/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_boss_Boss1_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/boss/Boss1/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_boss_Boss1_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/boss/Boss1/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_boss_Boss1_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/boss/Boss1/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_outlet_End1_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/outlet/End1/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_outlet_End1_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/outlet/End1/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_outlet_End1_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/outlet/End1/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_outlet_End1_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/outlet/End1/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_inlet_Start_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/inlet/Start/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_inlet_Start_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/inlet/Start/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_inlet_Start_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/inlet/Start/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_inlet_Start_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/inlet/Start/Preinstall.json";
public const string build_windows_resource_map_tileMaps_Test1_reward_Award1_Preview_png = "res://build/windows/resource/map/tileMaps/Test1/reward/Award1/Preview.png";
public const string build_windows_resource_map_tileMaps_Test1_reward_Award1_TileInfo_json = "res://build/windows/resource/map/tileMaps/Test1/reward/Award1/TileInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_reward_Award1_RoomInfo_json = "res://build/windows/resource/map/tileMaps/Test1/reward/Award1/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_Test1_reward_Award1_Preinstall_json = "res://build/windows/resource/map/tileMaps/Test1/reward/Award1/Preinstall.json";
public const string build_windows_resource_map_tileMaps_test2_battle_1_TileInfo_json = "res://build/windows/resource/map/tileMaps/test2/battle/1/TileInfo.json";
public const string build_windows_resource_map_tileMaps_test2_battle_1_RoomInfo_json = "res://build/windows/resource/map/tileMaps/test2/battle/1/RoomInfo.json";
public const string build_windows_resource_map_tileMaps_test2_battle_1_Preinstall_json = "res://build/windows/resource/map/tileMaps/test2/battle/1/Preinstall.json";
public const string build_windows_resource_map_tileSet_TileSetConfig_json = "res://build/windows/resource/map/tileSet/TileSetConfig.json";
public const string build_windows_resource_map_tileSet_TileSet2_Main_png = "res://build/windows/resource/map/tileSet/TileSet2/Main.png";
public const string build_windows_resource_map_tileSet_TileSet2_TileSet_json = "res://build/windows/resource/map/tileSet/TileSet2/TileSet.json";
public const string build_windows_resource_map_tileSet_TileSet2_Test2_png = "res://build/windows/resource/map/tileSet/TileSet2/Test2.png";
public const string build_windows_resource_map_tileSet_TileSet1_Main_png = "res://build/windows/resource/map/tileSet/TileSet1/Main.png";
public const string build_windows_resource_map_tileSet_TileSet1_TileSet_json = "res://build/windows/resource/map/tileSet/TileSet1/TileSet.json";
public const string build_windows_resource_map_tileSet_TileSet1_Test1_png = "res://build/windows/resource/map/tileSet/TileSet1/Test1.png";
public const string build_windows_resource_map_tileSet_TileSet1_Test3_png = "res://build/windows/resource/map/tileSet/TileSet1/Test3.png";
public const string build_windows_resource_map_tileSet_TileSet1_Test2_png = "res://build/windows/resource/map/tileSet/TileSet1/Test2.png";
public const string scene_Main_tscn = "res://scene/Main.tscn";
public const string scene_Hall_tscn = "res://scene/Hall.tscn";
public const string scene_Dungeon_tscn = "res://scene/Dungeon.tscn";
@ -297,6 +240,7 @@ public class ResourcePath
public const string resource_curve_Curve1_tres = "res://resource/curve/Curve1.tres";
public const string resource_theme_theme1_tres = "res://resource/theme/theme1.tres";
public const string resource_theme_mainTheme_tres = "res://resource/theme/mainTheme.tres";
public const string resource_sprite_Light_png = "res://resource/sprite/Light.png";
public const string resource_sprite_ui_GUI_png = "res://resource/sprite/ui/GUI.png";
public const string resource_sprite_ui_font_bg_png = "res://resource/sprite/ui/font_bg.png";
public const string resource_sprite_ui_roomMap_MapBar_png = "res://resource/sprite/ui/roomMap/MapBar.png";
@ -360,6 +304,7 @@ public class ResourcePath
public const string resource_sprite_ui_mapEditorTools_DoorDragButton_down_png = "res://resource/sprite/ui/mapEditorTools/DoorDragButton_down.png";
public const string resource_sprite_ui_mapEditorProject_CellBg_png = "res://resource/sprite/ui/mapEditorProject/CellBg.png";
public const string resource_sprite_ui_keyboard_e_png = "res://resource/sprite/ui/keyboard/e.png";
public const string resource_sprite_ui_roulette_RouletteBg_png = "res://resource/sprite/ui/roulette/RouletteBg.png";
public const string resource_sprite_prop_buff_BuffProp0003_png = "res://resource/sprite/prop/buff/BuffProp0003.png";
public const string resource_sprite_prop_buff_BuffProp0002_png = "res://resource/sprite/prop/buff/BuffProp0002.png";
public const string resource_sprite_prop_buff_BuffProp0014_png = "res://resource/sprite/prop/buff/BuffProp0014.png";
@ -574,46 +519,47 @@ public class ResourcePath
public const string resource_sprite_item_hall_a_Slice_28_png = "res://resource/sprite/item/hall_a/Slice_28.png";
public const string resource_sprite_item_hall_a_Slice_49_png = "res://resource/sprite/item/hall_a/Slice_49.png";
public const string resource_sprite_item_hall_a_Slice_48_png = "res://resource/sprite/item/hall_a/Slice_48.png";
public const string resource_sprite_item_hall_b_huapen_png = "res://resource/sprite/item/hall_b/huapen.png";
public const string resource_sprite_item_hall_b_shuihu_png = "res://resource/sprite/item/hall_b/shuihu.png";
public const string resource_sprite_item_hall_b_jieshouqi_png = "res://resource/sprite/item/hall_b/jieshouqi.png";
public const string resource_sprite_item_hall_b_ditan_png = "res://resource/sprite/item/hall_b/ditan.png";
public const string resource_sprite_item_hall_b_传送带_png = "res://resource/sprite/item/hall_b/传送带.png";
public const string resource_sprite_item_hall_b_saoba_png = "res://resource/sprite/item/hall_b/saoba.png";
public const string resource_sprite_item_hall_b_bingxiang01_png = "res://resource/sprite/item/hall_b/bingxiang01.png";
public const string resource_sprite_item_hall_b_zhishi_png = "res://resource/sprite/item/hall_b/zhishi.png";
public const string resource_sprite_item_hall_b_wall1_png = "res://resource/sprite/item/hall_b/wall1.png";
public const string resource_sprite_item_hall_b_wall3_png = "res://resource/sprite/item/hall_b/wall3.png";
public const string resource_sprite_item_hall_b_ditan01_png = "res://resource/sprite/item/hall_b/ditan01.png";
public const string resource_sprite_item_hall_b_wall2_png = "res://resource/sprite/item/hall_b/wall2.png";
public const string resource_sprite_item_hall_b_fuhuo_png = "res://resource/sprite/item/hall_b/fuhuo.png";
public const string resource_sprite_item_hall_b_kouzi_png = "res://resource/sprite/item/hall_b/kouzi.png";
public const string resource_sprite_item_hall_b_pingmu_png = "res://resource/sprite/item/hall_b/pingmu.png";
public const string resource_sprite_item_hall_b_shuiguan02_png = "res://resource/sprite/item/hall_b/shuiguan02.png";
public const string resource_sprite_item_hall_b_shuiguan01_png = "res://resource/sprite/item/hall_b/shuiguan01.png";
public const string resource_sprite_item_hall_b_mao_png = "res://resource/sprite/item/hall_b/mao.png";
public const string resource_sprite_item_hall_b_mugui_png = "res://resource/sprite/item/hall_b/mugui.png";
public const string resource_sprite_item_hall_b_zhuozi01_png = "res://resource/sprite/item/hall_b/zhuozi01.png";
public const string resource_sprite_item_hall_b_传送带图标_png = "res://resource/sprite/item/hall_b/传送带图标.png";
public const string resource_sprite_item_hall_b_yuguang_png = "res://resource/sprite/item/hall_b/yuguang.png";
public const string resource_sprite_item_hall_b_椅子_png = "res://resource/sprite/item/hall_b/椅子.png";
public const string resource_sprite_item_hall_b_zhuozi02_png = "res://resource/sprite/item/hall_b/zhuozi02.png";
public const string resource_sprite_item_hall_b_xiangzi_png = "res://resource/sprite/item/hall_b/xiangzi.png";
public const string resource_sprite_item_hall_b_huatan_png = "res://resource/sprite/item/hall_b/huatan.png";
public const string resource_sprite_item_hall_b_baoxiangui_png = "res://resource/sprite/item/hall_b/baoxiangui.png";
public const string resource_sprite_item_hall_b_shuimu_png = "res://resource/sprite/item/hall_b/shuimu.png";
public const string resource_sprite_item_hall_b_huatan02_png = "res://resource/sprite/item/hall_b/huatan02.png";
public const string resource_sprite_item_hall_b_dimian3_png = "res://resource/sprite/item/hall_b/dimian3.png";
public const string resource_sprite_item_hall_b_fengjing_png = "res://resource/sprite/item/hall_b/fengjing.png";
public const string resource_sprite_item_hall_b_dimian2_png = "res://resource/sprite/item/hall_b/dimian2.png";
public const string resource_sprite_item_hall_b_dimian_png = "res://resource/sprite/item/hall_b/dimian.png";
public const string resource_sprite_item_hall_b_chuanlian_png = "res://resource/sprite/item/hall_b/chuanlian.png";
public const string resource_sprite_item_hall_b_玻璃块_png = "res://resource/sprite/item/hall_b/玻璃块.png";
public const string resource_sprite_item_hall_b_dimian4_png = "res://resource/sprite/item/hall_b/dimian4.png";
public const string resource_sprite_item_hall_b_item11_png = "res://resource/sprite/item/hall_b/item-11.png";
public const string resource_sprite_item_hall_b_item05_png = "res://resource/sprite/item/hall_b/item-05.png";
public const string resource_sprite_item_hall_b_item010_png = "res://resource/sprite/item/hall_b/item-010.png";
public const string resource_sprite_item_hall_b_item04_png = "res://resource/sprite/item/hall_b/item-04.png";
public const string resource_sprite_item_hall_b_item06_png = "res://resource/sprite/item/hall_b/item-06.png";
public const string resource_sprite_item_hall_b_item12_png = "res://resource/sprite/item/hall_b/item-12.png";
public const string resource_sprite_item_hall_b_item13_png = "res://resource/sprite/item/hall_b/item-13.png";
public const string resource_sprite_item_hall_b_item07_png = "res://resource/sprite/item/hall_b/item-07.png";
public const string resource_sprite_item_hall_b_item03_png = "res://resource/sprite/item/hall_b/item-03.png";
public const string resource_sprite_item_hall_b_item17_png = "res://resource/sprite/item/hall_b/item-17.png";
public const string resource_sprite_item_hall_b_item16_png = "res://resource/sprite/item/hall_b/item-16.png";
public const string resource_sprite_item_hall_b_item02_png = "res://resource/sprite/item/hall_b/item-02.png";
public const string resource_sprite_item_hall_b_item28_png = "res://resource/sprite/item/hall_b/item-28.png";
public const string resource_sprite_item_hall_b_item14_png = "res://resource/sprite/item/hall_b/item-14.png";
public const string resource_sprite_item_hall_b_item01_png = "res://resource/sprite/item/hall_b/item-01.png";
public const string resource_sprite_item_hall_b_item15_png = "res://resource/sprite/item/hall_b/item-15.png";
public const string resource_sprite_item_hall_b_item29_png = "res://resource/sprite/item/hall_b/item-29.png";
public const string resource_sprite_item_hall_b_item30_png = "res://resource/sprite/item/hall_b/item-30.png";
public const string resource_sprite_item_hall_b_item24_png = "res://resource/sprite/item/hall_b/item-24.png";
public const string resource_sprite_item_hall_b_item18_png = "res://resource/sprite/item/hall_b/item-18.png";
public const string resource_sprite_item_hall_b_item19_png = "res://resource/sprite/item/hall_b/item-19.png";
public const string resource_sprite_item_hall_b_item25_png = "res://resource/sprite/item/hall_b/item-25.png";
public const string resource_sprite_item_hall_b_item31_png = "res://resource/sprite/item/hall_b/item-31.png";
public const string resource_sprite_item_hall_b_item27_png = "res://resource/sprite/item/hall_b/item-27.png";
public const string resource_sprite_item_hall_b_item33_png = "res://resource/sprite/item/hall_b/item-33.png";
public const string resource_sprite_item_hall_b_item32_png = "res://resource/sprite/item/hall_b/item-32.png";
public const string resource_sprite_item_hall_b_item26_png = "res://resource/sprite/item/hall_b/item-26.png";
public const string resource_sprite_item_hall_b_item22_png = "res://resource/sprite/item/hall_b/item-22.png";
public const string resource_sprite_item_hall_b_item36_png = "res://resource/sprite/item/hall_b/item-36.png";
public const string resource_sprite_item_hall_b_item23_png = "res://resource/sprite/item/hall_b/item-23.png";
public const string resource_sprite_item_hall_b_item09_png = "res://resource/sprite/item/hall_b/item-09.png";
public const string resource_sprite_item_hall_b_item35_png = "res://resource/sprite/item/hall_b/item-35.png";
public const string resource_sprite_item_hall_b_item21_png = "res://resource/sprite/item/hall_b/item-21.png";
public const string resource_sprite_item_hall_b_item20_png = "res://resource/sprite/item/hall_b/item-20.png";
public const string resource_sprite_item_hall_b_item34_png = "res://resource/sprite/item/hall_b/item-34.png";
public const string resource_sprite_item_hall_b_item08_png = "res://resource/sprite/item/hall_b/item-08.png";
public const string resource_sprite_item_hall_c_item_99_png = "res://resource/sprite/item/hall_c/item _99.png";
public const string resource_sprite_item_hall_c_item_58_png = "res://resource/sprite/item/hall_c/item _58.png";
public const string resource_sprite_item_hall_c_item_59_png = "res://resource/sprite/item/hall_c/item _59.png";
public const string resource_sprite_item_hall_c_item_49_png = "res://resource/sprite/item/hall_c/item _49.png";
public const string resource_sprite_item_hall_c_Slice_41_png = "res://resource/sprite/item/hall_c/Slice_41.png";
public const string resource_sprite_item_hall_c_item_48_png = "res://resource/sprite/item/hall_c/item _48.png";
public const string resource_sprite_item_hall_c_item_04_png = "res://resource/sprite/item/hall_c/item _04.png";
public const string resource_sprite_item_hall_c_item_10_png = "res://resource/sprite/item/hall_c/item _10.png";

View File

@ -12,6 +12,7 @@ public static partial class UiManager
public const string MapEditor = "MapEditor";
public const string PauseMenu = "PauseMenu";
public const string MapEditorMapMark = "MapEditorMapMark";
public const string Encyclopedia = "Encyclopedia";
public const string MapEditorCreateMark = "MapEditorCreateMark";
public const string MapEditorCreateRoom = "MapEditorCreateRoom";
public const string EditorImportCombination = "EditorImportCombination";
@ -379,6 +380,54 @@ public static partial class UiManager
return GetUiInstance<UI.MapEditorMapMark.MapEditorMapMarkPanel>(nameof(UI.MapEditorMapMark.MapEditorMapMark));
}
/// <summary>
/// 创建 Encyclopedia, 并返回UI实例, 该函数不会打开 Ui
/// </summary>
public static UI.Encyclopedia.EncyclopediaPanel Create_Encyclopedia()
{
return CreateUi<UI.Encyclopedia.EncyclopediaPanel>(UiNames.Encyclopedia);
}
/// <summary>
/// 打开 Encyclopedia, 并返回UI实例
/// </summary>
public static UI.Encyclopedia.EncyclopediaPanel Open_Encyclopedia()
{
return OpenUi<UI.Encyclopedia.EncyclopediaPanel>(UiNames.Encyclopedia);
}
/// <summary>
/// 隐藏 Encyclopedia 的所有实例
/// </summary>
public static void Hide_Encyclopedia()
{
var uiInstance = Get_Encyclopedia_Instance();
foreach (var uiPanel in uiInstance)
{
uiPanel.HideUi();
}
}
/// <summary>
/// 销毁 Encyclopedia 的所有实例
/// </summary>
public static void Destroy_Encyclopedia()
{
var uiInstance = Get_Encyclopedia_Instance();
foreach (var uiPanel in uiInstance)
{
uiPanel.Destroy();
}
}
/// <summary>
/// 获取所有 Encyclopedia 的实例, 如果没有实例, 则返回一个空数组
/// </summary>
public static UI.Encyclopedia.EncyclopediaPanel[] Get_Encyclopedia_Instance()
{
return GetUiInstance<UI.Encyclopedia.EncyclopediaPanel>(nameof(UI.Encyclopedia.Encyclopedia));
}
/// <summary>
/// 创建 MapEditorCreateMark, 并返回UI实例, 该函数不会打开 Ui
/// </summary>

View File

@ -319,15 +319,17 @@ public partial class EditorToolsPanel : EditorTools, ISerializationListener
/// </summary>
private void OpenExportExcelFolder()
{
var path = Environment.CurrentDirectory + "/excel";
var osName = OS.GetName();
GD.Print("打开excel文件夹: " + path);
if (osName == "Windows")
{
var path = Environment.CurrentDirectory + "\\excel";
GD.Print("打开excel文件夹: " + path);
System.Diagnostics.Process.Start("explorer.exe", path);
}
else
{
var path = Environment.CurrentDirectory + "/excel";
GD.Print("打开excel文件夹: " + path);
System.Diagnostics.Process.Start("open", path);
}
}

View File

@ -0,0 +1,333 @@
namespace UI.Encyclopedia;
/// <summary>
/// Ui代码, 该类是根据ui场景自动生成的, 请不要手动编辑该类, 以免造成代码丢失
/// </summary>
public abstract partial class Encyclopedia : UiBase
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Panel"/>, 节点路径: Encyclopedia.Panel2
/// </summary>
public Panel2 L_Panel2
{
get
{
if (_L_Panel2 == null) _L_Panel2 = new Panel2((EncyclopediaPanel)this, GetNode<Godot.Panel>("Panel2"));
return _L_Panel2;
}
}
private Panel2 _L_Panel2;
public Encyclopedia() : base(nameof(Encyclopedia))
{
}
public sealed override void OnInitNestedUi()
{
}
/// <summary>
/// 类型: <see cref="Godot.LineEdit"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.LineEdit
/// </summary>
public class LineEdit : UiNode<EncyclopediaPanel, Godot.LineEdit, LineEdit>
{
public LineEdit(EncyclopediaPanel uiPanel, Godot.LineEdit node) : base(uiPanel, node) { }
public override LineEdit Clone() => new (UiPanel, (Godot.LineEdit)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Button"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.Search
/// </summary>
public class Search : UiNode<EncyclopediaPanel, Godot.Button, Search>
{
public Search(EncyclopediaPanel uiPanel, Godot.Button node) : base(uiPanel, node) { }
public override Search Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.HBoxContainer"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer
/// </summary>
public class HBoxContainer : UiNode<EncyclopediaPanel, Godot.HBoxContainer, HBoxContainer>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.LineEdit"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.LineEdit
/// </summary>
public LineEdit L_LineEdit
{
get
{
if (_L_LineEdit == null) _L_LineEdit = new LineEdit(UiPanel, Instance.GetNode<Godot.LineEdit>("LineEdit"));
return _L_LineEdit;
}
}
private LineEdit _L_LineEdit;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Button"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.Search
/// </summary>
public Search L_Search
{
get
{
if (_L_Search == null) _L_Search = new Search(UiPanel, Instance.GetNode<Godot.Button>("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());
}
/// <summary>
/// 类型: <see cref="Godot.MarginContainer"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer
/// </summary>
public class MarginContainer_1 : UiNode<EncyclopediaPanel, Godot.MarginContainer, MarginContainer_1>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.HBoxContainer"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.HBoxContainer
/// </summary>
public HBoxContainer L_HBoxContainer
{
get
{
if (_L_HBoxContainer == null) _L_HBoxContainer = new HBoxContainer(UiPanel, Instance.GetNode<Godot.HBoxContainer>("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());
}
/// <summary>
/// 类型: <see cref="Godot.TextureRect"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.PreviewImage
/// </summary>
public class PreviewImage : UiNode<EncyclopediaPanel, Godot.TextureRect, PreviewImage>
{
public PreviewImage(EncyclopediaPanel uiPanel, Godot.TextureRect node) : base(uiPanel, node) { }
public override PreviewImage Clone() => new (UiPanel, (Godot.TextureRect)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Label"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.ObjectName
/// </summary>
public class ObjectName : UiNode<EncyclopediaPanel, Godot.Label, ObjectName>
{
public ObjectName(EncyclopediaPanel uiPanel, Godot.Label node) : base(uiPanel, node) { }
public override ObjectName Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.NinePatchRect"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.Select
/// </summary>
public class Select : UiNode<EncyclopediaPanel, Godot.NinePatchRect, Select>
{
public Select(EncyclopediaPanel uiPanel, Godot.NinePatchRect node) : base(uiPanel, node) { }
public override Select Clone() => new (UiPanel, (Godot.NinePatchRect)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Button"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton
/// </summary>
public class ObjectButton : UiNode<EncyclopediaPanel, Godot.Button, ObjectButton>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.TextureRect"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.PreviewImage
/// </summary>
public PreviewImage L_PreviewImage
{
get
{
if (_L_PreviewImage == null) _L_PreviewImage = new PreviewImage(UiPanel, Instance.GetNode<Godot.TextureRect>("PreviewImage"));
return _L_PreviewImage;
}
}
private PreviewImage _L_PreviewImage;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectName
/// </summary>
public ObjectName L_ObjectName
{
get
{
if (_L_ObjectName == null) _L_ObjectName = new ObjectName(UiPanel, Instance.GetNode<Godot.Label>("ObjectName"));
return _L_ObjectName;
}
}
private ObjectName _L_ObjectName;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.NinePatchRect"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.Select
/// </summary>
public Select L_Select
{
get
{
if (_L_Select == null) _L_Select = new Select(UiPanel, Instance.GetNode<Godot.NinePatchRect>("Select"));
return _L_Select;
}
}
private Select _L_Select;
public ObjectButton(EncyclopediaPanel uiPanel, Godot.Button node) : base(uiPanel, node) { }
public override ObjectButton Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.ScrollContainer"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer
/// </summary>
public class ScrollContainer : UiNode<EncyclopediaPanel, Godot.ScrollContainer, ScrollContainer>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Button"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ObjectButton
/// </summary>
public ObjectButton L_ObjectButton
{
get
{
if (_L_ObjectButton == null) _L_ObjectButton = new ObjectButton(UiPanel, Instance.GetNode<Godot.Button>("ObjectButton"));
return _L_ObjectButton;
}
}
private ObjectButton _L_ObjectButton;
public ScrollContainer(EncyclopediaPanel uiPanel, Godot.ScrollContainer node) : base(uiPanel, node) { }
public override ScrollContainer Clone() => new (UiPanel, (Godot.ScrollContainer)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.VBoxContainer"/>, 路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2
/// </summary>
public class VBoxContainer2 : UiNode<EncyclopediaPanel, Godot.VBoxContainer, VBoxContainer2>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.MarginContainer"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.MarginContainer
/// </summary>
public MarginContainer_1 L_MarginContainer
{
get
{
if (_L_MarginContainer == null) _L_MarginContainer = new MarginContainer_1(UiPanel, Instance.GetNode<Godot.MarginContainer>("MarginContainer"));
return _L_MarginContainer;
}
}
private MarginContainer_1 _L_MarginContainer;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.ScrollContainer"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.ScrollContainer
/// </summary>
public ScrollContainer L_ScrollContainer
{
get
{
if (_L_ScrollContainer == null) _L_ScrollContainer = new ScrollContainer(UiPanel, Instance.GetNode<Godot.ScrollContainer>("ScrollContainer"));
return _L_ScrollContainer;
}
}
private ScrollContainer _L_ScrollContainer;
public VBoxContainer2(EncyclopediaPanel uiPanel, Godot.VBoxContainer node) : base(uiPanel, node) { }
public override VBoxContainer2 Clone() => new (UiPanel, (Godot.VBoxContainer)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.MarginContainer"/>, 路径: Encyclopedia.Panel2.MarginContainer
/// </summary>
public class MarginContainer : UiNode<EncyclopediaPanel, Godot.MarginContainer, MarginContainer>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.VBoxContainer"/>, 节点路径: Encyclopedia.Panel2.VBoxContainer2
/// </summary>
public VBoxContainer2 L_VBoxContainer2
{
get
{
if (_L_VBoxContainer2 == null) _L_VBoxContainer2 = new VBoxContainer2(UiPanel, Instance.GetNode<Godot.VBoxContainer>("VBoxContainer2"));
return _L_VBoxContainer2;
}
}
private VBoxContainer2 _L_VBoxContainer2;
public MarginContainer(EncyclopediaPanel uiPanel, Godot.MarginContainer node) : base(uiPanel, node) { }
public override MarginContainer Clone() => new (UiPanel, (Godot.MarginContainer)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Panel"/>, 路径: Encyclopedia.Panel2
/// </summary>
public class Panel2 : UiNode<EncyclopediaPanel, Godot.Panel, Panel2>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.MarginContainer"/>, 节点路径: Encyclopedia.MarginContainer
/// </summary>
public MarginContainer L_MarginContainer
{
get
{
if (_L_MarginContainer == null) _L_MarginContainer = new MarginContainer(UiPanel, Instance.GetNode<Godot.MarginContainer>("MarginContainer"));
return _L_MarginContainer;
}
}
private MarginContainer _L_MarginContainer;
public Panel2(EncyclopediaPanel uiPanel, Godot.Panel node) : base(uiPanel, node) { }
public override Panel2 Clone() => new (UiPanel, (Godot.Panel)Instance.Duplicate());
}
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.LineEdit"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.LineEdit
/// </summary>
public LineEdit S_LineEdit => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_MarginContainer.L_HBoxContainer.L_LineEdit;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Button"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer.Search
/// </summary>
public Search S_Search => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_MarginContainer.L_HBoxContainer.L_Search;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.HBoxContainer"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.MarginContainer.HBoxContainer
/// </summary>
public HBoxContainer S_HBoxContainer => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_MarginContainer.L_HBoxContainer;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.TextureRect"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.PreviewImage
/// </summary>
public PreviewImage S_PreviewImage => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton.L_PreviewImage;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.ObjectName
/// </summary>
public ObjectName S_ObjectName => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton.L_ObjectName;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.NinePatchRect"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton.Select
/// </summary>
public Select S_Select => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton.L_Select;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Button"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer.ObjectButton
/// </summary>
public ObjectButton S_ObjectButton => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer.L_ObjectButton;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.ScrollContainer"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2.ScrollContainer
/// </summary>
public ScrollContainer S_ScrollContainer => L_Panel2.L_MarginContainer.L_VBoxContainer2.L_ScrollContainer;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.VBoxContainer"/>, 节点路径: Encyclopedia.Panel2.MarginContainer.VBoxContainer2
/// </summary>
public VBoxContainer2 S_VBoxContainer2 => L_Panel2.L_MarginContainer.L_VBoxContainer2;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Panel"/>, 节点路径: Encyclopedia.Panel2
/// </summary>
public Panel2 S_Panel2 => L_Panel2;
}

View File

@ -0,0 +1,18 @@
using Godot;
namespace UI.Encyclopedia;
public partial class EncyclopediaPanel : Encyclopedia
{
public override void OnCreateUi()
{
}
public override void OnDestroyUi()
{
}
}

View File

@ -68,6 +68,24 @@ public abstract partial class PauseMenu : UiBase
public override Restart Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Button"/>, 路径: PauseMenu.VBoxContainer.Encyclopedia
/// </summary>
public class Encyclopedia : UiNode<PauseMenuPanel, Godot.Button, Encyclopedia>
{
public Encyclopedia(PauseMenuPanel uiPanel, Godot.Button node) : base(uiPanel, node) { }
public override Encyclopedia Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Button"/>, 路径: PauseMenu.VBoxContainer.Setting
/// </summary>
public class Setting : UiNode<PauseMenuPanel, Godot.Button, Setting>
{
public Setting(PauseMenuPanel uiPanel, Godot.Button node) : base(uiPanel, node) { }
public override Setting Clone() => new (UiPanel, (Godot.Button)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Button"/>, 路径: PauseMenu.VBoxContainer.Exit
/// </summary>
@ -108,6 +126,32 @@ public abstract partial class PauseMenu : UiBase
}
private Restart _L_Restart;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Button"/>, 节点路径: PauseMenu.Encyclopedia
/// </summary>
public Encyclopedia L_Encyclopedia
{
get
{
if (_L_Encyclopedia == null) _L_Encyclopedia = new Encyclopedia(UiPanel, Instance.GetNode<Godot.Button>("Encyclopedia"));
return _L_Encyclopedia;
}
}
private Encyclopedia _L_Encyclopedia;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Button"/>, 节点路径: PauseMenu.Setting
/// </summary>
public Setting L_Setting
{
get
{
if (_L_Setting == null) _L_Setting = new Setting(UiPanel, Instance.GetNode<Godot.Button>("Setting"));
return _L_Setting;
}
}
private Setting _L_Setting;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Button"/>, 节点路径: PauseMenu.Exit
/// </summary>
@ -141,6 +185,16 @@ public abstract partial class PauseMenu : UiBase
/// </summary>
public Restart S_Restart => L_VBoxContainer.L_Restart;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Button"/>, 节点路径: PauseMenu.VBoxContainer.Encyclopedia
/// </summary>
public Encyclopedia S_Encyclopedia => L_VBoxContainer.L_Encyclopedia;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Button"/>, 节点路径: PauseMenu.VBoxContainer.Setting
/// </summary>
public Setting S_Setting => L_VBoxContainer.L_Setting;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Button"/>, 节点路径: PauseMenu.VBoxContainer.Exit
/// </summary>

View File

@ -8,6 +8,8 @@ public partial class PauseMenuPanel : PauseMenu
public override void OnCreateUi()
{
S_Continue.Instance.Pressed += OnContinueClick;
S_Setting.Instance.Pressed += OnSettingClick;
S_Encyclopedia.Instance.Pressed += OnEncyclopediaClick;
S_Restart.Instance.Pressed += OnRestartClick;
S_Exit.Instance.Pressed += OnExitClick;
@ -41,6 +43,18 @@ public partial class PauseMenuPanel : PauseMenu
Destroy();
}
//设置
private void OnSettingClick()
{
OpenNextUi(UiManager.UiNames.Setting);
}
//图鉴
private void OnEncyclopediaClick()
{
OpenNextUi(UiManager.UiNames.Encyclopedia);
}
//重新开始
private void OnRestartClick()
{

View File

@ -19,17 +19,17 @@ public abstract partial class WeaponRoulette : UiBase
private Bg _L_Bg;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Control
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Root
/// </summary>
public Control L_Control
public Root L_Root
{
get
{
if (_L_Control == null) _L_Control = new Control((WeaponRoulettePanel)this, GetNode<Godot.Control>("Control"));
return _L_Control;
if (_L_Root == null) _L_Root = new Root((WeaponRoulettePanel)this, GetNode<Godot.Control>("Root"));
return _L_Root;
}
}
private Control _L_Control;
private Root _L_Root;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Area2D"/>, 节点路径: WeaponRoulette.MouseArea
@ -51,7 +51,6 @@ public abstract partial class WeaponRoulette : UiBase
public sealed override void OnInitNestedUi()
{
_ = L_Control.L_RouletteBg.L_WeaponSlotNode;
}
@ -65,7 +64,7 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Sprite2D"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon
/// 类型: <see cref="Godot.Sprite2D"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon
/// </summary>
public class WeaponIcon : UiNode<WeaponRoulettePanel, Godot.Sprite2D, WeaponIcon>
{
@ -74,7 +73,7 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel
/// </summary>
public class AmmoLabel : UiNode<WeaponRoulettePanel, Godot.Label, AmmoLabel>
{
@ -83,12 +82,12 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Control"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi
/// 类型: <see cref="Godot.Control"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi
/// </summary>
public class WeaponUi : UiNode<WeaponRoulettePanel, Godot.Control, WeaponUi>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponIcon
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponIcon
/// </summary>
public WeaponIcon L_WeaponIcon
{
@ -101,7 +100,7 @@ public abstract partial class WeaponRoulette : UiBase
private WeaponIcon _L_WeaponIcon;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.AmmoLabel
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.AmmoLabel
/// </summary>
public AmmoLabel L_AmmoLabel
{
@ -118,7 +117,7 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Sprite2D"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.LockSprite
/// 类型: <see cref="Godot.Sprite2D"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.LockSprite
/// </summary>
public class LockSprite : UiNode<WeaponRoulettePanel, Godot.Sprite2D, LockSprite>
{
@ -127,12 +126,12 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Control"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi
/// 类型: <see cref="Godot.Control"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi
/// </summary>
public class SlotUi : UiNode<WeaponRoulettePanel, Godot.Control, SlotUi>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.WeaponUi
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.WeaponUi
/// </summary>
public WeaponUi L_WeaponUi
{
@ -145,7 +144,7 @@ public abstract partial class WeaponRoulette : UiBase
private WeaponUi _L_WeaponUi;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.LockSprite
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.LockSprite
/// </summary>
public LockSprite L_LockSprite
{
@ -162,7 +161,7 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.CollisionPolygon2D"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D
/// 类型: <see cref="Godot.CollisionPolygon2D"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D
/// </summary>
public class CollisionPolygon2D : UiNode<WeaponRoulettePanel, Godot.CollisionPolygon2D, CollisionPolygon2D>
{
@ -171,12 +170,12 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Area2D"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode
/// 类型: <see cref="Godot.Area2D"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode
/// </summary>
public class SlotAreaNode : UiNode<WeaponRoulettePanel, Godot.Area2D, SlotAreaNode>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.CollisionPolygon2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.CollisionPolygon2D
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.CollisionPolygon2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.CollisionPolygon2D
/// </summary>
public CollisionPolygon2D L_CollisionPolygon2D
{
@ -193,12 +192,12 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="UI.WeaponRoulette.WeaponSlot"/>, 路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode
/// 类型: <see cref="UI.WeaponRoulette.WeaponSlot"/>, 路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode
/// </summary>
public class WeaponSlotNode : UiNode<WeaponRoulettePanel, UI.WeaponRoulette.WeaponSlot, WeaponSlotNode>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Control.RouletteBg.SlotUi
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Root.RouletteBg.SlotUi
/// </summary>
public SlotUi L_SlotUi
{
@ -211,7 +210,7 @@ public abstract partial class WeaponRoulette : UiBase
private SlotUi _L_SlotUi;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Area2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.SlotAreaNode
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Area2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.SlotAreaNode
/// </summary>
public SlotAreaNode L_SlotAreaNode
{
@ -228,12 +227,12 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Sprite2D"/>, 路径: WeaponRoulette.Control.RouletteBg
/// 类型: <see cref="Godot.Sprite2D"/>, 路径: WeaponRoulette.Root.RouletteBg
/// </summary>
public class RouletteBg : UiNode<WeaponRoulettePanel, Godot.Sprite2D, RouletteBg>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="UI.WeaponRoulette.WeaponSlot"/>, 节点路径: WeaponRoulette.Control.WeaponSlotNode
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="UI.WeaponRoulette.WeaponSlot"/>, 节点路径: WeaponRoulette.Root.WeaponSlotNode
/// </summary>
public WeaponSlotNode L_WeaponSlotNode
{
@ -250,7 +249,7 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Control.ColorRect.Label
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Root.UpBar.Label
/// </summary>
public class Label : UiNode<WeaponRoulettePanel, Godot.Label, Label>
{
@ -259,7 +258,7 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Control.ColorRect.Label2
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Root.UpBar.Label2
/// </summary>
public class Label2 : UiNode<WeaponRoulettePanel, Godot.Label, Label2>
{
@ -268,7 +267,7 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Control.ColorRect.PageLabel
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Root.UpBar.PageLabel
/// </summary>
public class PageLabel : UiNode<WeaponRoulettePanel, Godot.Label, PageLabel>
{
@ -277,12 +276,12 @@ public abstract partial class WeaponRoulette : UiBase
}
/// <summary>
/// 类型: <see cref="Godot.ColorRect"/>, 路径: WeaponRoulette.Control.ColorRect
/// 类型: <see cref="Godot.ColorRect"/>, 路径: WeaponRoulette.Root.UpBar
/// </summary>
public class ColorRect : UiNode<WeaponRoulettePanel, Godot.ColorRect, ColorRect>
public class UpBar : UiNode<WeaponRoulettePanel, Godot.ColorRect, UpBar>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.Label
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.Label
/// </summary>
public Label L_Label
{
@ -295,7 +294,7 @@ public abstract partial class WeaponRoulette : UiBase
private Label _L_Label;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.Label2
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.Label2
/// </summary>
public Label2 L_Label2
{
@ -308,7 +307,7 @@ public abstract partial class WeaponRoulette : UiBase
private Label2 _L_Label2;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.PageLabel
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.PageLabel
/// </summary>
public PageLabel L_PageLabel
{
@ -320,14 +319,45 @@ public abstract partial class WeaponRoulette : UiBase
}
private PageLabel _L_PageLabel;
public ColorRect(WeaponRoulettePanel uiPanel, Godot.ColorRect node) : base(uiPanel, node) { }
public override ColorRect Clone() => new (UiPanel, (Godot.ColorRect)Instance.Duplicate());
public UpBar(WeaponRoulettePanel uiPanel, Godot.ColorRect node) : base(uiPanel, node) { }
public override UpBar Clone() => new (UiPanel, (Godot.ColorRect)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Control"/>, 路径: WeaponRoulette.Control
/// 类型: <see cref="Godot.Label"/>, 路径: WeaponRoulette.Root.DownBar.Label
/// </summary>
public class Control : UiNode<WeaponRoulettePanel, Godot.Control, Control>
public class Label_1 : UiNode<WeaponRoulettePanel, Godot.Label, Label_1>
{
public Label_1(WeaponRoulettePanel uiPanel, Godot.Label node) : base(uiPanel, node) { }
public override Label_1 Clone() => new (UiPanel, (Godot.Label)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.ColorRect"/>, 路径: WeaponRoulette.Root.DownBar
/// </summary>
public class DownBar : UiNode<WeaponRoulettePanel, Godot.ColorRect, DownBar>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.Label
/// </summary>
public Label_1 L_Label
{
get
{
if (_L_Label == null) _L_Label = new Label_1(UiPanel, Instance.GetNode<Godot.Label>("Label"));
return _L_Label;
}
}
private Label_1 _L_Label;
public DownBar(WeaponRoulettePanel uiPanel, Godot.ColorRect node) : base(uiPanel, node) { }
public override DownBar Clone() => new (UiPanel, (Godot.ColorRect)Instance.Duplicate());
}
/// <summary>
/// 类型: <see cref="Godot.Control"/>, 路径: WeaponRoulette.Root
/// </summary>
public class Root : UiNode<WeaponRoulettePanel, Godot.Control, Root>
{
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.RouletteBg
@ -343,20 +373,33 @@ public abstract partial class WeaponRoulette : UiBase
private RouletteBg _L_RouletteBg;
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.ColorRect"/>, 节点路径: WeaponRoulette.ColorRect
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.ColorRect"/>, 节点路径: WeaponRoulette.UpBar
/// </summary>
public ColorRect L_ColorRect
public UpBar L_UpBar
{
get
{
if (_L_ColorRect == null) _L_ColorRect = new ColorRect(UiPanel, Instance.GetNode<Godot.ColorRect>("ColorRect"));
return _L_ColorRect;
if (_L_UpBar == null) _L_UpBar = new UpBar(UiPanel, Instance.GetNode<Godot.ColorRect>("UpBar"));
return _L_UpBar;
}
}
private ColorRect _L_ColorRect;
private UpBar _L_UpBar;
public Control(WeaponRoulettePanel uiPanel, Godot.Control node) : base(uiPanel, node) { }
public override Control Clone() => new (UiPanel, (Godot.Control)Instance.Duplicate());
/// <summary>
/// 使用 Instance 属性获取当前节点实例对象, 节点类型: <see cref="Godot.ColorRect"/>, 节点路径: WeaponRoulette.DownBar
/// </summary>
public DownBar L_DownBar
{
get
{
if (_L_DownBar == null) _L_DownBar = new DownBar(UiPanel, Instance.GetNode<Godot.ColorRect>("DownBar"));
return _L_DownBar;
}
}
private DownBar _L_DownBar;
public Root(WeaponRoulettePanel uiPanel, Godot.Control node) : base(uiPanel, node) { }
public override Root Clone() => new (UiPanel, (Godot.Control)Instance.Duplicate());
}
/// <summary>
@ -397,74 +440,74 @@ public abstract partial class WeaponRoulette : UiBase
public Bg S_Bg => L_Bg;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.WeaponIcon
/// </summary>
public WeaponIcon S_WeaponIcon => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_WeaponIcon;
public WeaponIcon S_WeaponIcon => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_WeaponIcon;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi.AmmoLabel
/// </summary>
public AmmoLabel S_AmmoLabel => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_AmmoLabel;
public AmmoLabel S_AmmoLabel => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi.L_AmmoLabel;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.WeaponUi
/// </summary>
public WeaponUi S_WeaponUi => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi;
public WeaponUi S_WeaponUi => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_WeaponUi;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi.LockSprite
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi.LockSprite
/// </summary>
public LockSprite S_LockSprite => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_LockSprite;
public LockSprite S_LockSprite => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi.L_LockSprite;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotUi
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotUi
/// </summary>
public SlotUi S_SlotUi => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotUi;
public SlotUi S_SlotUi => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotUi;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.CollisionPolygon2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.CollisionPolygon2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode.CollisionPolygon2D
/// </summary>
public CollisionPolygon2D S_CollisionPolygon2D => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode.L_CollisionPolygon2D;
public CollisionPolygon2D S_CollisionPolygon2D => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode.L_CollisionPolygon2D;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Area2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode.SlotAreaNode
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Area2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode.SlotAreaNode
/// </summary>
public SlotAreaNode S_SlotAreaNode => L_Control.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode;
public SlotAreaNode S_SlotAreaNode => L_Root.L_RouletteBg.L_WeaponSlotNode.L_SlotAreaNode;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="UI.WeaponRoulette.WeaponSlot"/>, 节点路径: WeaponRoulette.Control.RouletteBg.WeaponSlotNode
/// 场景中唯一名称的节点, 节点类型: <see cref="UI.WeaponRoulette.WeaponSlot"/>, 节点路径: WeaponRoulette.Root.RouletteBg.WeaponSlotNode
/// </summary>
public WeaponSlotNode S_WeaponSlotNode => L_Control.L_RouletteBg.L_WeaponSlotNode;
public WeaponSlotNode S_WeaponSlotNode => L_Root.L_RouletteBg.L_WeaponSlotNode;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Control.RouletteBg
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Sprite2D"/>, 节点路径: WeaponRoulette.Root.RouletteBg
/// </summary>
public RouletteBg S_RouletteBg => L_Control.L_RouletteBg;
public RouletteBg S_RouletteBg => L_Root.L_RouletteBg;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.ColorRect.Label
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.UpBar.Label2
/// </summary>
public Label S_Label => L_Control.L_ColorRect.L_Label;
public Label2 S_Label2 => L_Root.L_UpBar.L_Label2;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.ColorRect.Label2
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Root.UpBar.PageLabel
/// </summary>
public Label2 S_Label2 => L_Control.L_ColorRect.L_Label2;
public PageLabel S_PageLabel => L_Root.L_UpBar.L_PageLabel;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Label"/>, 节点路径: WeaponRoulette.Control.ColorRect.PageLabel
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.ColorRect"/>, 节点路径: WeaponRoulette.Root.UpBar
/// </summary>
public PageLabel S_PageLabel => L_Control.L_ColorRect.L_PageLabel;
public UpBar S_UpBar => L_Root.L_UpBar;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.ColorRect"/>, 节点路径: WeaponRoulette.Control.ColorRect
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.ColorRect"/>, 节点路径: WeaponRoulette.Root.DownBar
/// </summary>
public ColorRect S_ColorRect => L_Control.L_ColorRect;
public DownBar S_DownBar => L_Root.L_DownBar;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Control
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.Control"/>, 节点路径: WeaponRoulette.Root
/// </summary>
public Control S_Control => L_Control;
public Root S_Root => L_Root;
/// <summary>
/// 场景中唯一名称的节点, 节点类型: <see cref="Godot.CollisionShape2D"/>, 节点路径: WeaponRoulette.MouseArea.CollisionShape2D

View File

@ -31,7 +31,7 @@ public partial class WeaponRoulettePanel : WeaponRoulette
public override void OnCreateUi()
{
L_Control.Instance.Visible = false;
S_Root.Instance.Visible = false;
S_Bg.Instance.Visible = false;
//创建武器插槽
@ -84,31 +84,46 @@ public partial class WeaponRoulettePanel : WeaponRoulette
{
S_MouseArea.Instance.GlobalPosition = GetGlobalMousePosition();
if (_maxPageIndex > 0)
//扔掉武器
if (ActiveWeapon != null && InputManager.MeleeAttack)
{
if (InputManager.ExchangeWeapon) //上一页
ActiveWeapon.Master.ThrowWeapon(ActiveWeapon.PackageIndex);
ActiveWeapon = null;
RefreshWeapon();
}
else
{
//上一页/下一页
if (_maxPageIndex > 0)
{
_pageIndex--;
if (_pageIndex < 0)
if (InputManager.ExchangeWeapon) //上一页
{
_pageIndex = _maxPageIndex;
}
_pageIndex--;
if (_pageIndex < 0)
{
_pageIndex = _maxPageIndex;
}
RefreshPageLabel();
RefreshWeapon();
}
else if (InputManager.Interactive) //下一页
{
_pageIndex++;
if (_pageIndex > _maxPageIndex)
RefreshPageLabel();
RefreshWeapon();
}
else if (InputManager.Interactive) //下一页
{
_pageIndex = 0;
}
_pageIndex++;
if (_pageIndex > _maxPageIndex)
{
_pageIndex = 0;
}
RefreshPageLabel();
RefreshWeapon();
RefreshPageLabel();
RefreshWeapon();
}
}
}
//扔掉武器提示
S_DownBar.Instance.Visible = ActiveWeapon != null;
}
else
{
@ -123,7 +138,7 @@ public partial class WeaponRoulettePanel : WeaponRoulette
_pressRouletteFlag = true;
_isMagnifyRoulette = true;
L_Control.Instance.Visible = true;
S_Root.Instance.Visible = true;
S_Bg.Instance.Visible = true;
SetEnableSectorCollision(true);
RefreshSlotPage();
@ -134,7 +149,7 @@ public partial class WeaponRoulettePanel : WeaponRoulette
//关闭轮盘
private void ShrinkRoulette()
{
L_Control.Instance.Visible = false;
S_Root.Instance.Visible = false;
S_Bg.Instance.Visible = false;
_isMagnifyRoulette = false;
@ -185,7 +200,7 @@ public partial class WeaponRoulettePanel : WeaponRoulette
}
}
_maxPageIndex = Mathf.CeilToInt((lastIndex + 1f) / SlotCount) - 1;
S_ColorRect.Instance.Visible = _maxPageIndex > 0;
S_UpBar.Instance.Visible = _maxPageIndex > 0;
if (_pageIndex > _maxPageIndex)
{

View File

@ -37,6 +37,11 @@ public partial class WeaponSlot : Node2D, IUiNodeScript
private void OnAreaExited(Area2D other)
{
if (_node.UiPanel.ActiveWeapon == _weapon)
{
_node.UiPanel.ActiveWeapon = null;
}
_node.Instance.Scale = Vector2.One;
_node.L_SlotUi.L_WeaponUi.L_WeaponIcon.Instance.Material.SetShaderMaterialParameter(ShaderParamNames.OutlineColor, Colors.Black);
}