diff --git a/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn b/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn
index a5f72c9..b4a3d9a 100644
--- a/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn
+++ b/DungeonShooting_Godot/prefab/ui/MapEditorProject.tscn
@@ -1,8 +1,7 @@
-[gd_scene load_steps=10 format=3 uid="uid://dh7y03tq6v0a2"]
+[gd_scene load_steps=9 format=3 uid="uid://dh7y03tq6v0a2"]
[ext_resource type="Script" path="res://src/game/ui/mapEditorProject/MapEditorProjectPanel.cs" id="1_5aioo"]
[ext_resource type="Texture2D" uid="uid://cajcnlimvoxk" path="res://resource/sprite/ui/commonIcon/Back.png" id="2_v0ry0"]
-[ext_resource type="Texture2D" uid="uid://uhhfgdhpk7i4" path="res://icon.png" id="2_xh3iw"]
[ext_resource type="Texture2D" uid="uid://blfvsup876agh" path="res://resource/sprite/ui/commonIcon/Search.png" id="3_f5h8c"]
[ext_resource type="Texture2D" uid="uid://n4atvj5fkcpg" path="res://resource/sprite/ui/commonIcon/Add.png" id="4_okvq0"]
[ext_resource type="Texture2D" uid="uid://bn47bmilcw4x0" path="res://resource/sprite/ui/commonIcon/Select2.png" id="5_rcbyx"]
@@ -188,7 +187,6 @@
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
-texture = ExtResource("2_xh3iw")
stretch_mode = 5
[node name="RoomName" type="Label" parent="Bg/VBoxContainer/HBoxContainer/Panel2/MarginContainer/VBoxContainer/ScrollContainer/RoomButton"]
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
index dbc96e8..59dcd63 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
@@ -4,51 +4,15 @@
"BattleList": [
{
"ErrorType": 0,
- "RoomPath": "resource/map/tileMaps/TestGroup1/battle/Room1/Room1_roomInfo.json",
- "TilePath": "resource/map/tileMaps/TestGroup1/battle/Room1/Room1_tileInfo.json",
- "PreinstallPath": "resource/map/tileMaps/TestGroup1/battle/Room1/Room1_preinstall.json",
- "PreviewPath": null
+ "Path": "resource/map/tileMaps/TestGroup1/battle/Battle1"
},
{
- "ErrorType": 0,
- "RoomPath": "resource/map/tileMaps/TestGroup1/battle/Room2/Room2_roomInfo.json",
- "TilePath": "resource/map/tileMaps/TestGroup1/battle/Room2/Room2_tileInfo.json",
- "PreinstallPath": "resource/map/tileMaps/TestGroup1/battle/Room2/Room2_preinstall.json",
- "PreviewPath": null
- },
- {
- "ErrorType": 0,
- "RoomPath": "resource/map/tileMaps/TestGroup1/battle/Room3/Room3_roomInfo.json",
- "TilePath": "resource/map/tileMaps/TestGroup1/battle/Room3/Room3_tileInfo.json",
- "PreinstallPath": "resource/map/tileMaps/TestGroup1/battle/Room3/Room3_preinstall.json",
- "PreviewPath": null
- },
- {
- "ErrorType": 0,
- "RoomPath": "resource/map/tileMaps/TestGroup1/battle/Room4/Room4_roomInfo.json",
- "TilePath": "resource/map/tileMaps/TestGroup1/battle/Room4/Room4_tileInfo.json",
- "PreinstallPath": "resource/map/tileMaps/TestGroup1/battle/Room4/Room4_preinstall.json",
- "PreviewPath": null
+ "ErrorType": 4,
+ "Path": "resource/map/tileMaps/TestGroup1/battle/Battle2"
}
],
- "InletList": [
- {
- "ErrorType": 0,
- "RoomPath": "resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_roomInfo.json",
- "TilePath": "resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_tileInfo.json",
- "PreinstallPath": "resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_preinstall.json",
- "PreviewPath": null
- }
- ],
- "OutletList": [
- {
- "ErrorType": 0,
- "RoomPath": "resource/map/tileMaps/TestGroup1/outlet/End1/End1_roomInfo.json",
- "TilePath": "resource/map/tileMaps/TestGroup1/outlet/End1/End1_tileInfo.json",
- "PreinstallPath": "resource/map/tileMaps/TestGroup1/outlet/End1/End1_preinstall.json",
- "PreviewPath": null
- }
- ],
+ "InletList": [],
+ "OutletList": [],
"BossList": [],
"RewardList": [],
"ShopList": [],
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preinstall.json
new file mode 100644
index 0000000..ce70790
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preinstall.json
@@ -0,0 +1 @@
+[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png
new file mode 100644
index 0000000..4519351
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png.import
new file mode 100644
index 0000000..67c37b0
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b6aer1lyhcs12"
+path="res://.godot/imported/Preview.png-31623ec49f994abd8521d4b3faef200a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png"
+dest_files=["res://.godot/imported/Preview.png-31623ec49f994abd8521d4b3faef200a.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/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json
new file mode 100644
index 0000000..36a051d
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json
@@ -0,0 +1 @@
+{"Position":{"X":-7,"Y":-8},"Size":{"X":23,"Y":17},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/TileInfo.json
new file mode 100644
index 0000000..bec7e05
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/TileInfo.json
@@ -0,0 +1 @@
+{"NavigationList":[{"Type":0,"Points":[168,-104,184,-104,184,-72,232,-72,232,0,184,0,184,56,232,56,232,112,184,112,184,128,168,128,168,32,120,32,120,128,-88,128,-88,-88,120,-88,120,-8,168,-8]},{"Type":1,"Points":[-72,-64,8,-64,8,-24,-24,-24,-24,8,-72,8]},{"Type":1,"Points":[24,-64,104,-64,104,8,56,8,56,-24,24,-24]},{"Type":1,"Points":[-72,32,-24,32,-24,64,8,64,8,104,-72,104]},{"Type":1,"Points":[56,32,104,32,104,104,24,104,24,64,56,64]}],"Floor":[14,6,0,0,8,14,5,0,0,8,14,3,0,0,8,14,4,0,0,8,14,-3,0,0,8,14,-4,0,0,8,14,-5,0,0,8,14,-2,0,0,8,14,-1,0,0,8,13,3,0,0,8,13,4,0,0,8,13,5,0,0,8,13,6,0,0,8,13,-3,0,0,8,13,-4,0,0,8,13,-5,0,0,8,13,-2,0,0,8,13,-1,0,0,8,12,6,0,0,8,12,5,0,0,8,12,4,0,0,8,12,3,0,0,8,12,-4,0,0,8,12,-3,0,0,8,12,-5,0,0,8,12,-1,0,0,8,12,-2,0,0,8,11,-7,0,0,8,11,-6,0,0,8,11,-5,0,0,8,11,-4,0,0,8,11,-3,0,0,8,11,-2,0,0,8,11,-1,0,0,8,11,0,0,0,8,11,1,0,0,8,11,2,0,0,8,11,3,0,0,8,11,4,0,0,8,11,5,0,0,8,11,6,0,0,8,11,7,0,0,8,7,7,0,0,8,7,6,0,0,8,7,5,0,0,8,7,4,0,0,8,7,3,0,0,8,7,2,0,0,8,7,1,0,0,8,7,0,0,0,8,7,-1,0,0,8,7,-2,0,0,8,7,-3,0,0,8,7,-4,0,0,8,7,-5,0,0,8,7,-6,0,0,8,6,7,0,0,8,6,6,0,0,8,6,5,0,0,8,6,4,0,0,8,6,3,0,0,8,6,2,0,0,8,6,1,0,0,8,6,0,0,0,8,6,-1,0,0,8,6,-2,0,0,8,6,-3,0,0,8,6,-4,0,0,8,6,-5,0,0,8,6,-6,0,0,8,5,6,0,0,8,5,7,0,0,8,5,1,0,0,8,5,0,0,0,8,5,-5,0,0,8,5,-6,0,0,8,4,6,0,0,8,4,7,0,0,8,4,1,0,0,8,4,0,0,0,8,4,-5,0,0,8,4,-6,0,0,8,3,6,0,0,8,3,7,0,0,8,3,3,0,0,8,3,2,0,0,8,3,1,0,0,8,3,0,0,0,8,3,-1,0,0,8,3,-2,0,0,8,3,-5,0,0,8,3,-6,0,0,8,2,6,0,0,8,2,7,0,0,8,2,3,0,0,8,2,2,0,0,8,2,1,0,0,8,2,0,0,0,8,2,-1,0,0,8,2,-2,0,0,8,2,-5,0,0,8,2,-6,0,0,8,1,0,0,0,8,1,1,0,0,8,1,7,0,0,8,1,6,0,0,8,1,5,0,0,8,1,4,0,0,8,1,3,0,0,8,1,2,0,0,8,1,-1,0,0,8,1,-2,0,0,8,1,-3,0,0,8,1,-4,0,0,8,1,-5,0,0,8,1,-6,0,0,8,0,1,0,0,8,0,0,0,0,8,0,7,0,0,8,0,6,0,0,8,0,5,0,0,8,0,4,0,0,8,0,3,0,0,8,0,2,0,0,8,0,-1,0,0,8,0,-2,0,0,8,0,-3,0,0,8,0,-4,0,0,8,0,-5,0,0,8,0,-6,0,0,8,-1,6,0,0,8,-1,7,0,0,8,-1,3,0,0,8,-1,2,0,0,8,-1,1,0,0,8,-1,0,0,0,8,-1,-1,0,0,8,-1,-2,0,0,8,-1,-5,0,0,8,-1,-6,0,0,8,-2,6,0,0,8,-2,7,0,0,8,-2,3,0,0,8,-2,2,0,0,8,-2,1,0,0,8,-2,0,0,0,8,-2,-1,0,0,8,-2,-2,0,0,8,-2,-5,0,0,8,-2,-6,0,0,8,-3,6,0,0,8,-3,7,0,0,8,-3,1,0,0,8,-3,0,0,0,8,-3,-5,0,0,8,-3,-6,0,0,8,-4,6,0,0,8,-4,7,0,0,8,-4,1,0,0,8,-4,0,0,0,8,-4,-5,0,0,8,-4,-6,0,0,8,-5,7,0,0,8,-5,6,0,0,8,-5,5,0,0,8,-5,4,0,0,8,-5,3,0,0,8,-5,2,0,0,8,-5,1,0,0,8,-5,0,0,0,8,-5,-1,0,0,8,-5,-2,0,0,8,-5,-3,0,0,8,-5,-4,0,0,8,-5,-5,0,0,8,-5,-6,0,0,8,-6,7,0,0,8,-6,6,0,0,8,-6,5,0,0,8,-6,4,0,0,8,-6,3,0,0,8,-6,2,0,0,8,-6,1,0,0,8,-6,0,0,0,8,-6,-1,0,0,8,-6,-2,0,0,8,-6,-3,0,0,8,-6,-4,0,0,8,-6,-5,0,0,8,-6,-6,0,0,8,8,-1,0,0,8,8,0,0,0,8,8,1,0,0,8,9,-1,0,0,8,9,0,0,0,8,9,1,0,0,8,10,-2,0,0,8,10,-3,0,0,8,10,-4,0,0,8,10,-5,0,0,8,10,-6,0,0,8,10,-7,0,0,8,10,7,0,0,8,10,6,0,0,8,10,5,0,0,8,10,4,0,0,8,10,3,0,0,8,10,2,0,0,8,10,0,0,0,8,10,1,0,0,8,10,-1,0,0,8],"Middle":[-6,-7,0,2,7,-5,-7,0,2,7,-4,-7,0,2,7,-4,-1,0,1,7,-4,5,0,1,7,-3,-7,0,2,7,-3,-1,0,3,7,-3,5,0,2,7,-2,-7,0,2,7,-2,-3,0,2,7,-2,5,0,2,7,-1,-7,0,2,7,-1,-3,0,3,7,-1,5,0,3,7,0,-7,0,2,7,1,-7,0,2,7,2,-7,0,2,7,2,-3,0,1,7,2,5,0,1,7,3,-7,0,2,7,3,-3,0,2,7,3,5,0,2,7,4,-7,0,2,7,4,-1,0,1,7,4,5,0,2,7,5,-7,0,2,7,5,-1,0,3,7,5,5,0,3,7,6,-7,0,2,7,7,-7,0,2,7,8,-2,0,1,7,9,-2,0,3,7,10,-8,0,2,7,11,-8,0,2,7,12,-6,0,1,7,12,2,0,1,7,13,-6,0,2,7,13,2,0,2,7,14,-6,0,2,7,14,2,0,2,7],"Top":[-7,-7,0,3,4,-7,-6,0,3,3,-7,-5,0,3,3,-7,-4,0,3,3,-7,-3,0,3,3,-7,-2,0,3,3,-7,-1,0,3,3,-7,0,0,3,3,-7,1,0,3,3,-7,2,0,3,3,-7,3,0,3,3,-7,4,0,3,3,-7,5,0,3,3,-7,6,0,3,3,-7,7,0,3,3,-7,8,0,11,2,-6,8,0,2,2,-5,8,0,2,2,-4,-4,0,1,2,-4,-3,0,1,3,-4,-2,0,1,3,-4,2,0,1,2,-4,3,0,1,3,-4,4,0,1,3,-4,8,0,2,2,-3,-4,0,2,2,-3,-3,0,3,4,-3,-2,0,3,3,-3,2,0,3,2,-3,3,0,3,3,-3,4,0,11,2,-3,8,0,2,2,-2,-4,0,2,2,-2,4,0,2,2,-2,8,0,2,2,-1,-4,0,3,2,-1,4,0,3,2,-1,8,0,2,2,0,8,0,2,2,1,8,0,2,2,2,-4,0,1,2,2,4,0,1,2,2,8,0,2,2,3,-4,0,2,2,3,4,0,2,2,3,8,0,2,2,4,-4,0,2,2,4,-3,0,1,4,4,-2,0,1,3,4,2,0,1,2,4,3,0,1,3,4,4,0,13,2,4,8,0,2,2,5,-4,0,3,2,5,-3,0,3,3,5,-2,0,3,3,5,2,0,3,2,5,3,0,3,3,5,4,0,3,3,5,8,0,2,2,6,8,0,2,2,7,8,0,2,2,8,-7,0,1,4,8,-6,0,1,3,8,-5,0,1,3,8,-4,0,1,3,8,-3,0,1,3,8,2,0,1,2,8,3,0,1,3,8,4,0,1,3,8,5,0,1,3,8,6,0,1,3,8,7,0,1,3,8,8,0,13,2,9,-8,0,3,4,9,-7,0,3,3,9,-6,0,3,3,9,-5,0,3,3,9,-4,0,3,3,9,-3,0,3,3,9,2,0,3,2,9,3,0,3,3,9,4,0,3,3,9,5,0,3,3,9,6,0,3,3,9,7,0,3,3,9,8,0,11,2,10,8,0,2,2,11,8,0,2,2,12,-8,0,1,4,12,-7,0,1,3,12,0,0,1,2,12,1,0,1,3,12,7,0,1,2,12,8,0,13,2,13,0,0,2,2,13,7,0,2,2,14,0,0,2,2,14,7,0,2,2,15,-6,0,1,4,15,-5,0,1,3,15,-4,0,1,3,15,-3,0,1,3,15,-2,0,1,3,15,-1,0,1,3,15,0,0,13,2,15,2,0,1,4,15,3,0,1,3,15,4,0,1,3,15,5,0,1,3,15,6,0,1,3,15,7,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preinstall.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preinstall.json
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png
new file mode 100644
index 0000000..40b715c
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png.import
new file mode 100644
index 0000000..47c9f9a
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://7jrgj84mv7k6"
+path="res://.godot/imported/Preview.png-7b1ebf12bb329f0035c1b1e63fdb4dac.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png"
+dest_files=["res://.godot/imported/Preview.png-7b1ebf12bb329f0035c1b1e63fdb4dac.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/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json
new file mode 100644
index 0000000..6e172a4
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json
@@ -0,0 +1 @@
+{"Position":{"X":-8,"Y":-10},"Size":{"X":18,"Y":17},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle2","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/TileInfo.json
new file mode 100644
index 0000000..31413bf
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/TileInfo.json
@@ -0,0 +1 @@
+{"NavigationList":[{"Type":0,"Points":[-104,-136,-40,-136,-40,-72,104,-72,104,-136,136,-136,136,96,72,96,72,16,-56,16,-56,96,-104,96]}],"Floor":[8,5,0,0,8,8,4,0,0,8,8,3,0,0,8,8,2,0,0,8,8,1,0,0,8,8,0,0,0,8,8,-1,0,0,8,8,-2,0,0,8,8,-3,0,0,8,8,-4,0,0,8,8,-5,0,0,8,8,-6,0,0,8,8,-7,0,0,8,8,-8,0,0,8,8,-9,0,0,8,7,5,0,0,8,7,4,0,0,8,7,3,0,0,8,7,2,0,0,8,7,1,0,0,8,7,0,0,0,8,7,-1,0,0,8,7,-2,0,0,8,7,-3,0,0,8,7,-4,0,0,8,7,-5,0,0,8,7,-6,0,0,8,7,-7,0,0,8,7,-8,0,0,8,7,-9,0,0,8,6,5,0,0,8,6,4,0,0,8,6,3,0,0,8,6,2,0,0,8,6,1,0,0,8,6,0,0,0,8,6,-1,0,0,8,6,-2,0,0,8,6,-3,0,0,8,6,-4,0,0,8,6,-5,0,0,8,6,-6,0,0,8,6,-7,0,0,8,6,-8,0,0,8,6,-9,0,0,8,5,5,0,0,8,5,4,0,0,8,5,3,0,0,8,5,2,0,0,8,5,1,0,0,8,5,0,0,0,8,5,-1,0,0,8,5,-2,0,0,8,5,-3,0,0,8,5,-4,0,0,8,5,-5,0,0,8,4,5,0,0,8,4,4,0,0,8,4,3,0,0,8,4,2,0,0,8,4,1,0,0,8,4,0,0,0,8,4,-1,0,0,8,4,-2,0,0,8,4,-3,0,0,8,4,-4,0,0,8,4,-5,0,0,8,3,0,0,0,8,3,-1,0,0,8,3,-2,0,0,8,3,-3,0,0,8,3,-4,0,0,8,3,-5,0,0,8,2,0,0,0,8,2,-1,0,0,8,2,-2,0,0,8,2,-3,0,0,8,2,-4,0,0,8,2,-5,0,0,8,1,0,0,0,8,1,-1,0,0,8,1,-2,0,0,8,1,-3,0,0,8,1,-4,0,0,8,1,-5,0,0,8,0,0,0,0,8,0,-1,0,0,8,0,-2,0,0,8,0,-3,0,0,8,0,-4,0,0,8,0,-5,0,0,8,-1,0,0,0,8,-1,-1,0,0,8,-1,-2,0,0,8,-1,-3,0,0,8,-1,-4,0,0,8,-1,-5,0,0,8,-2,0,0,0,8,-2,-1,0,0,8,-2,-2,0,0,8,-2,-3,0,0,8,-2,-4,0,0,8,-2,-5,0,0,8,-3,0,0,0,8,-3,-1,0,0,8,-3,-2,0,0,8,-3,-3,0,0,8,-3,-4,0,0,8,-3,-5,0,0,8,-3,-6,0,0,8,-3,-7,0,0,8,-3,-8,0,0,8,-3,-9,0,0,8,-4,5,0,0,8,-4,4,0,0,8,-4,3,0,0,8,-4,2,0,0,8,-4,1,0,0,8,-4,0,0,0,8,-4,-1,0,0,8,-4,-2,0,0,8,-4,-3,0,0,8,-4,-4,0,0,8,-4,-5,0,0,8,-4,-6,0,0,8,-4,-7,0,0,8,-4,-8,0,0,8,-4,-9,0,0,8,-5,5,0,0,8,-5,4,0,0,8,-5,3,0,0,8,-5,2,0,0,8,-5,1,0,0,8,-5,0,0,0,8,-5,-1,0,0,8,-5,-2,0,0,8,-5,-3,0,0,8,-5,-4,0,0,8,-5,-5,0,0,8,-5,-6,0,0,8,-5,-7,0,0,8,-5,-8,0,0,8,-5,-9,0,0,8,-6,5,0,0,8,-6,4,0,0,8,-6,3,0,0,8,-6,2,0,0,8,-6,1,0,0,8,-6,0,0,0,8,-6,-1,0,0,8,-6,-2,0,0,8,-6,-3,0,0,8,-6,-4,0,0,8,-6,-5,0,0,8,-6,-6,0,0,8,-6,-7,0,0,8,-6,-8,0,0,8,-6,-9,0,0,8,-7,5,0,0,8,-7,4,0,0,8,-7,3,0,0,8,-7,2,0,0,8,-7,1,0,0,8,-7,0,0,0,8,-7,-1,0,0,8,-7,-2,0,0,8,-7,-3,0,0,8,-7,-4,0,0,8,-7,-5,0,0,8,-7,-6,0,0,8,-7,-7,0,0,8,-7,-8,0,0,8,-7,-9,0,0,8],"Middle":[-7,-10,0,2,7,-6,-10,0,2,7,-5,-10,0,2,7,-4,-10,0,2,7,-3,-10,0,2,7,-2,-6,0,1,7,-1,-6,0,2,7,0,-6,0,2,7,1,-6,0,2,7,2,-6,0,2,7,3,-6,0,2,7,4,-6,0,2,7,5,-6,0,3,7,6,-10,0,2,7,7,-10,0,2,7,8,-10,0,2,7],"Top":[-8,-10,0,3,4,-8,-9,0,3,3,-8,-8,0,3,3,-8,-7,0,3,3,-8,-6,0,3,3,-8,-5,0,3,3,-8,-4,0,3,3,-8,-3,0,3,3,-8,-2,0,3,3,-8,-1,0,3,3,-8,0,0,3,3,-8,1,0,3,3,-8,2,0,3,3,-8,3,0,3,3,-8,4,0,3,3,-8,5,0,3,3,-8,6,0,11,2,-7,6,0,2,2,-6,6,0,2,2,-5,6,0,2,2,-4,6,0,2,2,-3,1,0,1,2,-3,2,0,1,3,-3,3,0,1,3,-3,4,0,1,3,-3,5,0,1,3,-3,6,0,13,2,-2,-10,0,1,4,-2,-9,0,1,3,-2,-8,0,1,3,-2,-7,0,1,3,-2,1,0,2,2,-1,1,0,2,2,0,1,0,2,2,1,1,0,2,2,2,1,0,2,2,3,1,0,3,2,3,2,0,3,3,3,3,0,3,3,3,4,0,3,3,3,5,0,3,3,3,6,0,11,2,4,6,0,2,2,5,-10,0,3,4,5,-9,0,3,3,5,-8,0,3,3,5,-7,0,3,3,5,6,0,2,2,6,6,0,2,2,7,6,0,2,2,8,6,0,2,2,9,-10,0,1,4,9,-9,0,1,3,9,-8,0,1,3,9,-7,0,1,3,9,-6,0,1,3,9,-5,0,1,3,9,-4,0,1,3,9,-3,0,1,3,9,-2,0,1,3,9,-1,0,1,3,9,0,0,1,3,9,1,0,1,3,9,2,0,1,3,9,3,0,1,3,9,4,0,1,3,9,5,0,1,3,9,6,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_preinstall.json
deleted file mode 100644
index 8d9e528..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":18,"Y":-136},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0002","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]}],[{"Position":{"X":62,"Y":9},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0005","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":24,"Y":47},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"-1","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":91,"Y":50},"Size":{"X":32,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"1","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}]]},{"Name":"test2","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":27,"Y":-143},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-21,"Y":-113},"Size":{"X":46,"Y":27},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0},{"Id":"weapon0006","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0},{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]}],[{"Position":{"X":70,"Y":29},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_roomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_roomInfo.json
deleted file mode 100644
index 180c741..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_roomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-6,"Y":-13},"Size":{"X":15,"Y":22},"DoorAreaInfos":[{"Direction":0,"Start":144,"End":240},{"Direction":1,"Start":16,"End":272},{"Direction":3,"Start":48,"End":176},{"Direction":0,"Start":16,"End":80},{"Direction":2,"Start":96,"End":208}],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Room1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_tileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_tileInfo.json
deleted file mode 100644
index b4b3ffb..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room1/Room1_tileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-24,-184,88,-184,88,-168,120,-168,120,-96,56,-96,56,-64,40,-64,40,-8,104,-8,104,-56,120,-56,120,64,72,64,72,104,120,104,120,128,24,128,24,104,56,104,56,64,8,64,8,0,-56,0,-56,80,-72,80,-72,-168,-24,-168]},{"Type":1,"Points":[-56,-64,8,-64,8,-24,-56,-24]}],"Floor":[-5,4,0,0,8,-5,-11,0,0,8,-5,-5,0,0,8,-5,-4,0,0,8,-5,-3,0,0,8,-5,-2,0,0,8,-5,-1,0,0,8,-5,0,0,0,8,-5,1,0,0,8,-5,2,0,0,8,-5,3,0,0,8,-5,-6,0,0,8,-5,-7,0,0,8,-5,-8,0,0,8,-5,-9,0,0,8,-5,-10,0,0,8,-4,-11,0,0,8,-4,-5,0,0,8,-4,-4,0,0,8,-4,-3,0,0,8,-4,-2,0,0,8,-4,-1,0,0,8,-4,0,0,0,8,-4,1,0,0,8,-4,2,0,0,8,-4,3,0,0,8,-4,-6,0,0,8,-4,-7,0,0,8,-4,-8,0,0,8,-4,-10,0,0,8,-4,-9,0,0,8,-4,4,0,0,8,-3,-5,0,0,8,-3,-11,0,0,8,-3,-2,0,0,8,-3,-1,0,0,8,-3,-7,0,0,8,-3,-6,0,0,8,-3,-8,0,0,8,-3,-10,0,0,8,-3,-9,0,0,8,-2,-8,0,0,8,-2,-9,0,0,8,-2,-12,0,0,8,-2,-5,0,0,8,-2,-6,0,0,8,-2,-2,0,0,8,-2,-1,0,0,8,-2,-11,0,0,8,-2,-10,0,0,8,-2,-7,0,0,8,-1,-8,0,0,8,-1,-9,0,0,8,-1,-12,0,0,8,-1,-5,0,0,8,-1,-6,0,0,8,-1,-2,0,0,8,-1,-1,0,0,8,-1,-11,0,0,8,-1,-10,0,0,8,-1,-7,0,0,8,0,-8,0,0,8,0,-9,0,0,8,0,-10,0,0,8,0,-12,0,0,8,0,-5,0,0,8,0,-4,0,0,8,0,-3,0,0,8,0,-2,0,0,8,0,-1,0,0,8,0,0,0,0,8,0,1,0,0,8,0,2,0,0,8,0,3,0,0,8,0,-6,0,0,8,0,-11,0,0,8,0,-7,0,0,8,1,-8,0,0,8,1,-9,0,0,8,1,-10,0,0,8,1,-11,0,0,8,1,7,0,0,8,1,6,0,0,8,1,-5,0,0,8,1,-4,0,0,8,1,-3,0,0,8,1,-2,0,0,8,1,-1,0,0,8,1,0,0,0,8,1,1,0,0,8,1,2,0,0,8,1,3,0,0,8,1,-6,0,0,8,1,-7,0,0,8,1,-12,0,0,8,2,-9,0,0,8,2,-10,0,0,8,2,-11,0,0,8,2,7,0,0,8,2,6,0,0,8,2,-5,0,0,8,2,-4,0,0,8,2,-3,0,0,8,2,-2,0,0,8,2,-1,0,0,8,2,0,0,0,8,2,1,0,0,8,2,2,0,0,8,2,3,0,0,8,2,-6,0,0,8,2,-7,0,0,8,2,-12,0,0,8,2,-8,0,0,8,3,-9,0,0,8,3,-10,0,0,8,3,-5,0,0,8,3,-11,0,0,8,3,5,0,0,8,3,4,0,0,8,3,7,0,0,8,3,6,0,0,8,3,-1,0,0,8,3,0,0,0,8,3,1,0,0,8,3,2,0,0,8,3,3,0,0,8,3,-8,0,0,8,3,-6,0,0,8,3,-7,0,0,8,3,-12,0,0,8,4,-12,0,0,8,4,-11,0,0,8,4,4,0,0,8,4,5,0,0,8,4,7,0,0,8,4,6,0,0,8,4,-1,0,0,8,4,0,0,0,8,4,1,0,0,8,4,2,0,0,8,4,3,0,0,8,4,-7,0,0,8,4,-8,0,0,8,4,-10,0,0,8,4,-9,0,0,8,5,-12,0,0,8,5,-11,0,0,8,5,7,0,0,8,5,6,0,0,8,5,-1,0,0,8,5,0,0,0,8,5,1,0,0,8,5,2,0,0,8,5,3,0,0,8,5,-8,0,0,8,5,-7,0,0,8,5,-9,0,0,8,5,-10,0,0,8,6,-11,0,0,8,6,7,0,0,8,6,6,0,0,8,6,-7,0,0,8,6,-4,0,0,8,6,-3,0,0,8,6,-2,0,0,8,6,-1,0,0,8,6,0,0,0,8,6,1,0,0,8,6,2,0,0,8,6,3,0,0,8,6,-8,0,0,8,6,-9,0,0,8,6,-10,0,0,8,7,-7,0,0,8,7,-8,0,0,8,7,-9,0,0,8,7,-10,0,0,8,7,-11,0,0,8,7,7,0,0,8,7,6,0,0,8,7,-4,0,0,8,7,-3,0,0,8,7,-2,0,0,8,7,-1,0,0,8,7,0,0,0,8,7,1,0,0,8,7,2,0,0,8,7,3,0,0,8],"Middle":[-5,-12,0,2,7,-4,-12,0,2,7,-3,-12,0,3,7,-3,-3,0,1,7,-2,-13,0,2,7,-2,-3,0,2,7,-1,-13,0,2,7,-1,-3,0,3,7,0,-13,0,2,7,1,-13,0,2,7,1,5,0,2,7,2,-13,0,2,7,2,5,0,3,7,3,-13,0,2,7,3,-2,0,1,7,4,-13,0,2,7,4,-2,0,2,7,5,-13,0,2,7,5,-2,0,3,7,5,5,0,1,7,6,-12,0,1,7,6,-5,0,2,7,6,5,0,2,7,7,-12,0,2,7,7,-5,0,2,7,7,5,0,2,7],"Top":[-6,-12,0,3,4,-6,-11,0,3,3,-6,-10,0,3,3,-6,-9,0,3,3,-6,-8,0,3,3,-6,-7,0,3,3,-6,-6,0,3,3,-6,-5,0,3,3,-6,-4,0,3,3,-6,-3,0,3,3,-6,-2,0,3,3,-6,-1,0,3,3,-6,0,0,3,3,-6,1,0,3,3,-6,2,0,3,3,-6,3,0,3,3,-6,4,0,3,3,-6,5,0,11,2,-5,5,0,2,2,-4,5,0,2,2,-3,-13,0,3,4,-3,-4,0,1,2,-3,0,0,1,2,-3,1,0,1,3,-3,2,0,1,3,-3,3,0,1,3,-3,4,0,1,3,-3,5,0,13,2,-2,-4,0,2,2,-2,0,0,2,2,-1,-4,0,3,2,-1,0,0,3,2,-1,1,0,3,3,-1,2,0,3,3,-1,3,0,3,3,-1,4,0,11,2,0,4,0,2,2,0,5,0,3,4,0,6,0,3,3,0,7,0,3,3,0,8,0,11,2,1,4,0,2,2,1,8,0,2,2,2,4,0,3,2,2,8,0,2,2,3,-4,0,1,2,3,-3,0,1,3,3,8,0,2,2,4,-6,0,1,2,4,-5,0,1,3,4,-4,0,13,2,4,8,0,2,2,5,-6,0,2,2,5,-5,0,3,4,5,-4,0,3,3,5,-3,0,3,3,5,4,0,1,2,5,8,0,2,2,6,-13,0,1,4,6,-6,0,2,2,6,4,0,2,2,6,8,0,2,2,7,-6,0,2,2,7,4,0,2,2,7,8,0,2,2,8,-12,0,1,4,8,-11,0,1,3,8,-10,0,1,3,8,-9,0,1,3,8,-8,0,1,3,8,-7,0,1,3,8,-6,0,13,2,8,-5,0,1,4,8,-4,0,1,3,8,-3,0,1,3,8,-2,0,1,3,8,-1,0,1,3,8,0,0,1,3,8,1,0,1,3,8,2,0,1,3,8,3,0,1,3,8,4,0,13,2,8,5,0,1,4,8,6,0,1,3,8,7,0,1,3,8,8,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_preinstall.json
deleted file mode 100644
index e180318..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[],[{"Position":{"X":63,"Y":-31},"Size":{"X":86,"Y":90},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Weapon":"weapon0005","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0},{"Id":"enemy0001","Weight":100,"Attr":{"Weapon":"weapon0003","CurrAmmon":"12","ResidueAmmo":"12"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-66,"Y":57},"Size":{"X":135,"Y":78},"SpecialMarkType":0,"DelayTime":3,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Weapon":"weapon0006","CurrAmmon":"20","ResidueAmmo":"20"},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_roomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_roomInfo.json
deleted file mode 100644
index 1cdb937..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_roomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-12,"Y":-8},"Size":{"X":22,"Y":17},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Room2","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_tileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_tileInfo.json
deleted file mode 100644
index 3b1a167..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room2/Room2_tileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-168,-104,136,-104,136,128,-168,128]},{"Type":1,"Points":[-120,-48,-40,-48,-40,8,-120,8]},{"Type":1,"Points":[8,48,104,48,104,104,8,104]}],"Floor":[-11,-7,0,0,8,-11,-6,0,0,8,-11,-5,0,0,8,-11,-4,0,0,8,-11,-3,0,0,8,-11,-2,0,0,8,-11,-1,0,0,8,-11,0,0,0,8,-11,1,0,0,8,-11,2,0,0,8,-11,3,0,0,8,-11,4,0,0,8,-11,5,0,0,8,-11,6,0,0,8,-11,7,0,0,8,-10,-7,0,0,8,-10,-6,0,0,8,-10,-5,0,0,8,-10,-4,0,0,8,-10,-3,0,0,8,-10,-2,0,0,8,-10,-1,0,0,8,-10,0,0,0,8,-10,1,0,0,8,-10,2,0,0,8,-10,3,0,0,8,-10,4,0,0,8,-10,5,0,0,8,-10,6,0,0,8,-10,7,0,0,8,-9,-7,0,0,8,-9,-6,0,0,8,-9,-5,0,0,8,-9,-4,0,0,8,-9,-3,0,0,8,-9,-2,0,0,8,-9,-1,0,0,8,-9,0,0,0,8,-9,1,0,0,8,-9,2,0,0,8,-9,3,0,0,8,-9,4,0,0,8,-9,5,0,0,8,-9,6,0,0,8,-9,7,0,0,8,-8,-7,0,0,8,-8,-6,0,0,8,-8,-5,0,0,8,-8,-4,0,0,8,-8,-3,0,0,8,-8,-2,0,0,8,-8,-1,0,0,8,-8,0,0,0,8,-8,1,0,0,8,-8,2,0,0,8,-8,3,0,0,8,-8,4,0,0,8,-8,5,0,0,8,-8,6,0,0,8,-8,7,0,0,8,-7,-7,0,0,8,-7,-6,0,0,8,-7,-5,0,0,8,-7,-4,0,0,8,-7,0,0,0,8,-7,1,0,0,8,-7,2,0,0,8,-7,3,0,0,8,-7,4,0,0,8,-7,5,0,0,8,-7,6,0,0,8,-7,7,0,0,8,-6,-7,0,0,8,-6,-6,0,0,8,-6,-5,0,0,8,-6,-4,0,0,8,-6,0,0,0,8,-6,1,0,0,8,-6,2,0,0,8,-6,3,0,0,8,-6,4,0,0,8,-6,5,0,0,8,-6,6,0,0,8,-6,7,0,0,8,-5,-7,0,0,8,-5,-6,0,0,8,-5,-5,0,0,8,-5,-4,0,0,8,-5,0,0,0,8,-5,1,0,0,8,-5,2,0,0,8,-5,3,0,0,8,-5,4,0,0,8,-5,5,0,0,8,-5,6,0,0,8,-5,7,0,0,8,-4,-7,0,0,8,-4,-6,0,0,8,-4,-5,0,0,8,-4,-4,0,0,8,-4,0,0,0,8,-4,1,0,0,8,-4,2,0,0,8,-4,3,0,0,8,-4,4,0,0,8,-4,5,0,0,8,-4,6,0,0,8,-4,7,0,0,8,-3,-7,0,0,8,-3,-6,0,0,8,-3,-5,0,0,8,-3,-4,0,0,8,-3,0,0,0,8,-3,1,0,0,8,-3,2,0,0,8,-3,3,0,0,8,-3,4,0,0,8,-3,5,0,0,8,-3,6,0,0,8,-3,7,0,0,8,-3,-3,0,0,8,-3,-2,0,0,8,-3,-1,0,0,8,-2,-7,0,0,8,-2,-6,0,0,8,-2,-5,0,0,8,-2,-4,0,0,8,-2,-3,0,0,8,-2,-2,0,0,8,-2,-1,0,0,8,-2,0,0,0,8,-2,1,0,0,8,-2,2,0,0,8,-2,3,0,0,8,-2,4,0,0,8,-2,5,0,0,8,-2,6,0,0,8,-2,7,0,0,8,-1,-7,0,0,8,-1,-6,0,0,8,-1,-5,0,0,8,-1,-4,0,0,8,-1,-3,0,0,8,-1,-2,0,0,8,-1,-1,0,0,8,-1,0,0,0,8,-1,1,0,0,8,-1,2,0,0,8,-1,3,0,0,8,-1,4,0,0,8,-1,5,0,0,8,-1,6,0,0,8,-1,7,0,0,8,0,-7,0,0,8,0,-6,0,0,8,0,-5,0,0,8,0,-4,0,0,8,0,-3,0,0,8,0,-2,0,0,8,0,-1,0,0,8,0,0,0,0,8,0,1,0,0,8,0,2,0,0,8,0,6,0,0,8,0,7,0,0,8,0,3,0,0,8,0,4,0,0,8,0,5,0,0,8,1,-7,0,0,8,1,-6,0,0,8,1,-5,0,0,8,1,-4,0,0,8,1,-3,0,0,8,1,-2,0,0,8,1,-1,0,0,8,1,0,0,0,8,1,1,0,0,8,1,2,0,0,8,1,6,0,0,8,1,7,0,0,8,2,-7,0,0,8,2,-6,0,0,8,2,-5,0,0,8,2,-4,0,0,8,2,-3,0,0,8,2,-2,0,0,8,2,-1,0,0,8,2,0,0,0,8,2,1,0,0,8,2,2,0,0,8,2,6,0,0,8,2,7,0,0,8,3,-7,0,0,8,3,-6,0,0,8,3,-5,0,0,8,3,-4,0,0,8,3,-3,0,0,8,3,-2,0,0,8,3,-1,0,0,8,3,0,0,0,8,3,1,0,0,8,3,2,0,0,8,3,6,0,0,8,3,7,0,0,8,4,-7,0,0,8,4,-6,0,0,8,4,-5,0,0,8,4,-4,0,0,8,4,-3,0,0,8,4,-2,0,0,8,4,-1,0,0,8,4,0,0,0,8,4,1,0,0,8,4,2,0,0,8,4,6,0,0,8,4,7,0,0,8,5,-7,0,0,8,5,-6,0,0,8,5,-5,0,0,8,5,-4,0,0,8,5,-3,0,0,8,5,-2,0,0,8,5,-1,0,0,8,5,0,0,0,8,5,1,0,0,8,5,2,0,0,8,5,6,0,0,8,5,7,0,0,8,6,-7,0,0,8,6,-6,0,0,8,6,-5,0,0,8,6,-4,0,0,8,6,-3,0,0,8,6,-2,0,0,8,6,-1,0,0,8,6,0,0,0,8,6,1,0,0,8,6,2,0,0,8,6,3,0,0,8,6,4,0,0,8,6,5,0,0,8,6,6,0,0,8,6,7,0,0,8,7,-7,0,0,8,7,-6,0,0,8,7,-5,0,0,8,7,-4,0,0,8,7,-3,0,0,8,7,-2,0,0,8,7,-1,0,0,8,7,0,0,0,8,7,1,0,0,8,7,2,0,0,8,7,3,0,0,8,7,4,0,0,8,7,5,0,0,8,7,6,0,0,8,7,7,0,0,8,8,-7,0,0,8,8,-6,0,0,8,8,-5,0,0,8,8,-4,0,0,8,8,-3,0,0,8,8,-2,0,0,8,8,-1,0,0,8,8,0,0,0,8,8,1,0,0,8,8,2,0,0,8,8,3,0,0,8,8,4,0,0,8,8,5,0,0,8,8,6,0,0,8,8,7,0,0,8],"Middle":[-11,-8,0,2,7,-10,-8,0,2,7,-9,-8,0,2,7,-8,-8,0,2,7,-7,-8,0,2,7,-7,-1,0,1,7,-6,-8,0,2,7,-6,-1,0,2,7,-5,-8,0,2,7,-5,-1,0,2,7,-4,-8,0,2,7,-4,-1,0,3,7,-3,-8,0,2,7,-2,-8,0,2,7,-1,-8,0,2,7,0,-8,0,2,7,1,-8,0,2,7,1,5,0,1,7,2,-8,0,2,7,2,5,0,2,7,3,-8,0,2,7,3,5,0,2,7,4,-8,0,2,7,4,5,0,2,7,5,-8,0,2,7,5,5,0,3,7,6,-8,0,2,7,7,-8,0,2,7,8,-8,0,2,7],"Top":[-12,-8,0,3,4,-12,-7,0,3,3,-12,-6,0,3,3,-12,-5,0,3,3,-12,-4,0,3,3,-12,-3,0,3,3,-12,-2,0,3,3,-12,-1,0,3,3,-12,0,0,3,3,-12,1,0,3,3,-12,2,0,3,3,-12,3,0,3,3,-12,4,0,3,3,-12,5,0,3,3,-12,6,0,3,3,-12,7,0,3,3,-12,8,0,11,2,-11,8,0,2,2,-10,8,0,2,2,-9,8,0,2,2,-8,8,0,2,2,-7,-3,0,1,2,-7,-2,0,1,3,-7,8,0,2,2,-6,-3,0,2,2,-6,8,0,2,2,-5,-3,0,2,2,-5,8,0,2,2,-4,-3,0,3,2,-4,-2,0,3,3,-4,8,0,2,2,-3,8,0,2,2,-2,8,0,2,2,-1,8,0,2,2,0,8,0,2,2,1,3,0,1,2,1,4,0,1,3,1,8,0,2,2,2,3,0,2,2,2,8,0,2,2,3,3,0,2,2,3,8,0,2,2,4,3,0,2,2,4,8,0,2,2,5,3,0,3,2,5,4,0,3,3,5,8,0,2,2,6,8,0,2,2,7,8,0,2,2,8,8,0,2,2,9,-8,0,1,4,9,-7,0,1,3,9,-6,0,1,3,9,-5,0,1,3,9,-4,0,1,3,9,-3,0,1,3,9,-2,0,1,3,9,-1,0,1,3,9,0,0,1,3,9,1,0,1,3,9,2,0,1,3,9,3,0,1,3,9,4,0,1,3,9,5,0,1,3,9,6,0,1,3,9,7,0,1,3,9,8,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_preinstall.json
deleted file mode 100644
index 0bd614d..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":-38,"Y":-127},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0001","CurrAmmon":"30","ResidueAmmo":"30"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":82,"Y":-117},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0003","CurrAmmon":"12","ResidueAmmo":"12"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-10,"Y":66},"Size":{"X":124,"Y":30},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_roomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_roomInfo.json
deleted file mode 100644
index 110cb1e..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_roomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-10,"Y":-13},"Size":{"X":23,"Y":24},"DoorAreaInfos":[{"Direction":3,"Start":0,"End":336},{"Direction":0,"Start":192,"End":272},{"Direction":2,"Start":0,"End":112}],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Room3","Weight":200,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_tileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_tileInfo.json
deleted file mode 100644
index f7cf897..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room3/Room3_tileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-136,-184,184,-184,184,-64,8,-64,8,-80,-40,-80,-40,40,8,40,8,24,184,24,184,96,-40,96,-40,160,-136,160]}],"Floor":[5,-12,0,0,8,5,-11,0,0,8,5,-10,0,0,8,5,-9,0,0,8,5,-8,0,0,8,5,-7,0,0,8,5,-6,0,0,8,5,-5,0,0,8,5,1,0,0,8,5,2,0,0,8,5,3,0,0,8,5,4,0,0,8,5,5,0,0,8,4,-12,0,0,8,4,-11,0,0,8,4,-10,0,0,8,4,-9,0,0,8,4,-8,0,0,8,4,-7,0,0,8,4,-6,0,0,8,4,-5,0,0,8,4,1,0,0,8,4,2,0,0,8,4,3,0,0,8,4,4,0,0,8,4,5,0,0,8,3,-12,0,0,8,3,-11,0,0,8,3,-10,0,0,8,3,-9,0,0,8,3,-8,0,0,8,3,-7,0,0,8,3,-6,0,0,8,3,-5,0,0,8,3,1,0,0,8,3,2,0,0,8,3,3,0,0,8,3,4,0,0,8,3,5,0,0,8,2,-12,0,0,8,2,-11,0,0,8,2,-10,0,0,8,2,-9,0,0,8,2,-8,0,0,8,2,-7,0,0,8,2,-6,0,0,8,2,-5,0,0,8,2,1,0,0,8,2,2,0,0,8,2,3,0,0,8,2,4,0,0,8,2,5,0,0,8,1,-12,0,0,8,1,-11,0,0,8,1,-10,0,0,8,1,-9,0,0,8,1,-8,0,0,8,1,-7,0,0,8,1,-6,0,0,8,1,-5,0,0,8,1,1,0,0,8,1,2,0,0,8,1,3,0,0,8,1,4,0,0,8,1,5,0,0,8,0,-12,0,0,8,0,-11,0,0,8,0,-10,0,0,8,0,-9,0,0,8,0,-8,0,0,8,0,-7,0,0,8,0,-6,0,0,8,0,-5,0,0,8,0,1,0,0,8,0,2,0,0,8,0,3,0,0,8,0,4,0,0,8,0,5,0,0,8,-1,-12,0,0,8,-1,-11,0,0,8,-1,-10,0,0,8,-1,-9,0,0,8,-1,-8,0,0,8,-1,-7,0,0,8,-1,-6,0,0,8,-1,2,0,0,8,-1,3,0,0,8,-1,4,0,0,8,-1,5,0,0,8,-2,-12,0,0,8,-2,-11,0,0,8,-2,-10,0,0,8,-2,-9,0,0,8,-2,-8,0,0,8,-2,-7,0,0,8,-2,-6,0,0,8,-2,2,0,0,8,-2,3,0,0,8,-2,4,0,0,8,-2,5,0,0,8,-3,-12,0,0,8,-3,-11,0,0,8,-3,-10,0,0,8,-3,-9,0,0,8,-3,-8,0,0,8,-3,-7,0,0,8,-3,-6,0,0,8,-3,-5,0,0,8,-3,-4,0,0,8,-3,-3,0,0,8,-3,-2,0,0,8,-3,-1,0,0,8,-3,0,0,0,8,-3,1,0,0,8,-3,2,0,0,8,-3,3,0,0,8,-3,4,0,0,8,-3,5,0,0,8,-3,6,0,0,8,-3,7,0,0,8,-3,8,0,0,8,-3,9,0,0,8,-4,-12,0,0,8,-4,-11,0,0,8,-4,-10,0,0,8,-4,-9,0,0,8,-4,-8,0,0,8,-4,-7,0,0,8,-4,-6,0,0,8,-4,-5,0,0,8,-4,-4,0,0,8,-4,-3,0,0,8,-4,-2,0,0,8,-4,-1,0,0,8,-4,0,0,0,8,-4,1,0,0,8,-4,2,0,0,8,-4,3,0,0,8,-4,4,0,0,8,-4,5,0,0,8,-4,6,0,0,8,-4,7,0,0,8,-4,8,0,0,8,-4,9,0,0,8,-5,-12,0,0,8,-5,-11,0,0,8,-5,-10,0,0,8,-5,-9,0,0,8,-5,-8,0,0,8,-5,-7,0,0,8,-5,-6,0,0,8,-5,-5,0,0,8,-5,-4,0,0,8,-5,-3,0,0,8,-5,-2,0,0,8,-5,-1,0,0,8,-5,0,0,0,8,-5,1,0,0,8,-5,2,0,0,8,-5,3,0,0,8,-5,4,0,0,8,-5,5,0,0,8,-5,6,0,0,8,-5,7,0,0,8,-5,8,0,0,8,-5,9,0,0,8,-6,-12,0,0,8,-6,-11,0,0,8,-6,-10,0,0,8,-6,-9,0,0,8,-6,-8,0,0,8,-6,-7,0,0,8,-6,-6,0,0,8,-6,-5,0,0,8,-6,-4,0,0,8,-6,-3,0,0,8,-6,-2,0,0,8,-6,-1,0,0,8,-6,0,0,0,8,-6,1,0,0,8,-6,2,0,0,8,-6,3,0,0,8,-6,4,0,0,8,-6,5,0,0,8,-6,6,0,0,8,-6,7,0,0,8,-6,8,0,0,8,-6,9,0,0,8,-7,-12,0,0,8,-7,-11,0,0,8,-7,-10,0,0,8,-7,-9,0,0,8,-7,-8,0,0,8,-7,-7,0,0,8,-7,-6,0,0,8,-7,-5,0,0,8,-7,-4,0,0,8,-7,-3,0,0,8,-7,-2,0,0,8,-7,-1,0,0,8,-7,0,0,0,8,-7,1,0,0,8,-7,2,0,0,8,-7,3,0,0,8,-7,4,0,0,8,-7,5,0,0,8,-7,6,0,0,8,-7,7,0,0,8,-7,8,0,0,8,-7,9,0,0,8,-8,-12,0,0,8,-8,-11,0,0,8,-8,-10,0,0,8,-8,-9,0,0,8,-8,-8,0,0,8,-8,-7,0,0,8,-8,-6,0,0,8,-8,-5,0,0,8,-8,-4,0,0,8,-8,-3,0,0,8,-8,-2,0,0,8,-8,-1,0,0,8,-8,0,0,0,8,-8,1,0,0,8,-8,2,0,0,8,-8,3,0,0,8,-8,4,0,0,8,-8,5,0,0,8,-8,6,0,0,8,-8,7,0,0,8,-8,8,0,0,8,-8,9,0,0,8,-9,-12,0,0,8,-9,-11,0,0,8,-9,-10,0,0,8,-9,-9,0,0,8,-9,-8,0,0,8,-9,-7,0,0,8,-9,-6,0,0,8,-9,-5,0,0,8,-9,-4,0,0,8,-9,-3,0,0,8,-9,-2,0,0,8,-9,-1,0,0,8,-9,0,0,0,8,-9,1,0,0,8,-9,2,0,0,8,-9,3,0,0,8,-9,4,0,0,8,-9,5,0,0,8,-9,6,0,0,8,-9,7,0,0,8,-9,8,0,0,8,-9,9,0,0,8,6,-12,0,0,8,6,-11,0,0,8,6,-10,0,0,8,6,-9,0,0,8,6,-8,0,0,8,6,-7,0,0,8,6,-6,0,0,8,6,-5,0,0,8,6,1,0,0,8,6,2,0,0,8,6,3,0,0,8,6,4,0,0,8,6,5,0,0,8,7,-12,0,0,8,7,-11,0,0,8,7,-10,0,0,8,7,-9,0,0,8,7,-8,0,0,8,7,-7,0,0,8,7,-6,0,0,8,7,-5,0,0,8,7,1,0,0,8,7,2,0,0,8,7,3,0,0,8,7,4,0,0,8,7,5,0,0,8,8,-12,0,0,8,8,-11,0,0,8,8,-10,0,0,8,8,-9,0,0,8,8,-8,0,0,8,8,-7,0,0,8,8,-6,0,0,8,8,-5,0,0,8,8,1,0,0,8,8,2,0,0,8,8,3,0,0,8,8,4,0,0,8,8,5,0,0,8,9,-12,0,0,8,9,-11,0,0,8,9,-10,0,0,8,9,-9,0,0,8,9,-8,0,0,8,9,-7,0,0,8,9,-6,0,0,8,9,-5,0,0,8,9,1,0,0,8,9,2,0,0,8,9,3,0,0,8,9,4,0,0,8,9,5,0,0,8,10,-12,0,0,8,10,-11,0,0,8,10,-10,0,0,8,10,-9,0,0,8,10,-8,0,0,8,10,-7,0,0,8,10,-6,0,0,8,10,-5,0,0,8,10,1,0,0,8,10,2,0,0,8,10,3,0,0,8,10,4,0,0,8,10,5,0,0,8,11,-12,0,0,8,11,-11,0,0,8,11,-10,0,0,8,11,-9,0,0,8,11,-8,0,0,8,11,-7,0,0,8,11,-6,0,0,8,11,-5,0,0,8,11,1,0,0,8,11,2,0,0,8,11,3,0,0,8,11,4,0,0,8,11,5,0,0,8],"Middle":[-9,-13,0,2,7,-8,-13,0,2,7,-7,-13,0,2,7,-6,-13,0,2,7,-5,-13,0,2,7,-4,-13,0,2,7,-3,-13,0,2,7,-2,-13,0,2,7,-2,1,0,1,7,-1,-13,0,2,7,-1,1,0,3,7,0,-13,0,2,7,0,0,0,2,7,1,-13,0,2,7,1,0,0,2,7,2,-13,0,2,7,2,0,0,2,7,3,-13,0,2,7,3,0,0,2,7,4,-13,0,2,7,4,0,0,2,7,5,-13,0,2,7,5,0,0,2,7,6,-13,0,2,7,6,0,0,2,7,7,-13,0,2,7,7,0,0,2,7,8,-13,0,2,7,8,0,0,2,7,9,-13,0,2,7,9,0,0,2,7,10,-13,0,2,7,10,0,0,2,7,11,-13,0,2,7,11,0,0,2,7],"Top":[-10,-13,0,3,4,-10,-12,0,3,3,-10,-11,0,3,3,-10,-10,0,3,3,-10,-9,0,3,3,-10,-8,0,3,3,-10,-7,0,3,3,-10,-6,0,3,3,-10,-5,0,3,3,-10,-4,0,3,3,-10,-3,0,3,3,-10,-2,0,3,3,-10,-1,0,3,3,-10,0,0,3,3,-10,1,0,3,3,-10,2,0,3,3,-10,3,0,3,3,-10,4,0,3,3,-10,5,0,3,3,-10,6,0,3,3,-10,7,0,3,3,-10,8,0,3,3,-10,9,0,3,3,-10,10,0,11,2,-9,10,0,2,2,-8,10,0,2,2,-7,10,0,2,2,-6,10,0,2,2,-5,10,0,2,2,-4,10,0,2,2,-3,10,0,2,2,-2,-5,0,1,2,-2,-4,0,1,3,-2,-3,0,1,3,-2,-2,0,1,3,-2,-1,0,1,3,-2,0,0,1,3,-2,6,0,1,2,-2,7,0,1,3,-2,8,0,1,3,-2,9,0,1,3,-2,10,0,13,2,-1,-5,0,3,2,-1,-4,0,11,2,-1,0,0,3,4,-1,6,0,2,2,0,-4,0,2,2,0,6,0,2,2,1,-4,0,2,2,1,6,0,2,2,2,-4,0,2,2,2,6,0,2,2,3,-4,0,2,2,3,6,0,2,2,4,-4,0,2,2,4,6,0,2,2,5,-4,0,2,2,5,6,0,2,2,6,-4,0,2,2,6,6,0,2,2,7,-4,0,2,2,7,6,0,2,2,8,-4,0,2,2,8,6,0,2,2,9,-4,0,2,2,9,6,0,2,2,10,-4,0,2,2,10,6,0,2,2,11,-4,0,2,2,11,6,0,2,2,12,-13,0,1,4,12,-12,0,1,3,12,-11,0,1,3,12,-10,0,1,3,12,-9,0,1,3,12,-8,0,1,3,12,-7,0,1,3,12,-6,0,1,3,12,-5,0,1,3,12,-4,0,13,2,12,0,0,1,4,12,1,0,1,3,12,2,0,1,3,12,3,0,1,3,12,4,0,1,3,12,5,0,1,3,12,6,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_preinstall.json
deleted file mode 100644
index 86be653..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":-54,"Y":-22},"Size":{"X":51,"Y":42},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0001","CurrAmmon":"30","ResidueAmmo":"30"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":131,"Y":18},"Size":{"X":56,"Y":51},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0002","CurrAmmon":"7","ResidueAmmo":"7"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-48,"Y":87},"Size":{"X":66,"Y":33},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0},{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0006","CurrAmmon":"20","ResidueAmmo":"20"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":94,"Y":79},"Size":{"X":19,"Y":37},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":4,"Y":-58},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":19,"Y":110},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-94,"Y":23},"Size":{"X":26,"Y":47},"SpecialMarkType":0,"DelayTime":2.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0001","CurrAmmon":"30","ResidueAmmo":"30"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":86,"Y":-25},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1.2,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_roomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_roomInfo.json
deleted file mode 100644
index 65bd9fa..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_roomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-9,"Y":-7},"Size":{"X":22,"Y":18},"DoorAreaInfos":[{"Direction":1,"Start":64,"End":160},{"Direction":3,"Start":80,"End":176},{"Direction":0,"Start":64,"End":160},{"Direction":2,"Start":112,"End":176}],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Room4","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_tileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_tileInfo.json
deleted file mode 100644
index e5ffdfc..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Room4/Room4_tileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-40,-88,40,-88,40,-56,120,-56,120,-24,184,-24,184,64,120,64,120,112,40,112,40,160,-8,160,-8,112,-88,112,-88,64,-120,64,-120,-24,-88,-24,-88,-56,-40,-56]},{"Type":1,"Points":[-24,-32,56,-32,56,16,72,16,72,88,-8,88,-8,56,-72,56,-72,16,-24,16]}],"Floor":[11,3,0,0,8,11,2,0,0,8,11,1,0,0,8,11,0,0,0,8,11,-1,0,0,8,11,-2,0,0,8,10,3,0,0,8,10,2,0,0,8,10,1,0,0,8,10,0,0,0,8,10,-1,0,0,8,10,-2,0,0,8,9,3,0,0,8,9,2,0,0,8,9,1,0,0,8,9,0,0,0,8,9,-1,0,0,8,9,-2,0,0,8,8,3,0,0,8,8,2,0,0,8,8,1,0,0,8,8,0,0,0,8,8,-1,0,0,8,8,-2,0,0,8,-7,3,0,0,8,-7,2,0,0,8,-7,1,0,0,8,-7,0,0,0,8,-7,-1,0,0,8,-7,-2,0,0,8,-8,3,0,0,8,-8,2,0,0,8,-8,1,0,0,8,-8,0,0,0,8,-8,-1,0,0,8,-8,-2,0,0,8,7,6,0,0,8,7,5,0,0,8,7,4,0,0,8,7,3,0,0,8,7,2,0,0,8,7,1,0,0,8,7,0,0,0,8,7,-1,0,0,8,7,-2,0,0,8,7,-3,0,0,8,7,-4,0,0,8,6,6,0,0,8,6,5,0,0,8,6,4,0,0,8,6,3,0,0,8,6,2,0,0,8,6,1,0,0,8,6,0,0,0,8,6,-1,0,0,8,6,-2,0,0,8,6,-3,0,0,8,6,-4,0,0,8,5,6,0,0,8,5,5,0,0,8,5,4,0,0,8,5,3,0,0,8,5,2,0,0,8,5,1,0,0,8,5,0,0,0,8,5,-1,0,0,8,5,-2,0,0,8,5,-3,0,0,8,5,-4,0,0,8,4,6,0,0,8,4,5,0,0,8,4,4,0,0,8,4,3,0,0,8,4,2,0,0,8,4,1,0,0,8,4,0,0,0,8,4,-1,0,0,8,4,-2,0,0,8,4,-3,0,0,8,4,-4,0,0,8,3,6,0,0,8,3,5,0,0,8,3,0,0,0,8,3,-1,0,0,8,3,-2,0,0,8,3,-3,0,0,8,3,-4,0,0,8,2,-5,0,0,8,2,-6,0,0,8,2,9,0,0,8,2,8,0,0,8,2,7,0,0,8,2,6,0,0,8,2,5,0,0,8,2,-3,0,0,8,2,-4,0,0,8,1,-5,0,0,8,1,-6,0,0,8,1,9,0,0,8,1,8,0,0,8,1,7,0,0,8,1,6,0,0,8,1,5,0,0,8,1,-3,0,0,8,1,-4,0,0,8,0,-5,0,0,8,0,-6,0,0,8,0,9,0,0,8,0,8,0,0,8,0,7,0,0,8,0,6,0,0,8,0,5,0,0,8,0,-3,0,0,8,0,-4,0,0,8,-1,-5,0,0,8,-1,-6,0,0,8,-1,9,0,0,8,-1,8,0,0,8,-1,7,0,0,8,-1,6,0,0,8,-1,5,0,0,8,-1,4,0,0,8,-1,3,0,0,8,-1,-3,0,0,8,-1,-4,0,0,8,-2,-5,0,0,8,-2,-6,0,0,8,-2,6,0,0,8,-2,5,0,0,8,-2,4,0,0,8,-2,3,0,0,8,-2,0,0,0,8,-2,-1,0,0,8,-2,-2,0,0,8,-2,-3,0,0,8,-2,-4,0,0,8,-3,-5,0,0,8,-3,-6,0,0,8,-3,6,0,0,8,-3,5,0,0,8,-3,4,0,0,8,-3,3,0,0,8,-3,0,0,0,8,-3,-1,0,0,8,-3,-2,0,0,8,-3,-3,0,0,8,-3,-4,0,0,8,-4,6,0,0,8,-4,5,0,0,8,-4,4,0,0,8,-4,3,0,0,8,-4,0,0,0,8,-4,-1,0,0,8,-4,-2,0,0,8,-4,-3,0,0,8,-4,-4,0,0,8,-5,6,0,0,8,-5,5,0,0,8,-5,4,0,0,8,-5,3,0,0,8,-5,2,0,0,8,-5,1,0,0,8,-5,0,0,0,8,-5,-1,0,0,8,-5,-2,0,0,8,-5,-3,0,0,8,-5,-4,0,0,8,-6,6,0,0,8,-6,5,0,0,8,-6,4,0,0,8,-6,3,0,0,8,-6,2,0,0,8,-6,1,0,0,8,-6,0,0,0,8,-6,-1,0,0,8,-6,-2,0,0,8,-6,-3,0,0,8,-6,-4,0,0,8],"Middle":[-8,-3,0,2,7,-7,-3,0,3,7,-6,-5,0,2,7,-5,-5,0,2,7,-4,-5,0,3,7,-4,2,0,1,7,-3,-7,0,2,7,-3,2,0,2,7,-2,-7,0,2,7,-2,2,0,2,7,-1,-7,0,2,7,-1,2,0,2,7,0,-7,0,2,7,0,4,0,1,7,1,-7,0,2,7,1,4,0,2,7,2,-7,0,2,7,2,4,0,2,7,3,-5,0,1,7,3,4,0,3,7,4,-5,0,2,7,5,-5,0,2,7,6,-5,0,2,7,7,-5,0,2,7,8,-3,0,1,7,9,-3,0,2,7,10,-3,0,2,7,11,-3,0,2,7],"Top":[-9,-3,0,3,4,-9,-2,0,3,3,-9,-1,0,3,3,-9,0,0,3,3,-9,1,0,3,3,-9,2,0,3,3,-9,3,0,3,3,-9,4,0,11,2,-8,4,0,2,2,-7,-5,0,3,4,-7,-4,0,3,3,-7,4,0,3,2,-7,5,0,3,3,-7,6,0,3,3,-7,7,0,11,2,-6,7,0,2,2,-5,7,0,2,2,-4,-7,0,3,4,-4,-6,0,3,3,-4,1,0,1,2,-4,7,0,2,2,-3,1,0,2,2,-3,7,0,2,2,-2,1,0,2,2,-2,7,0,3,2,-2,8,0,3,3,-2,9,0,3,3,-2,10,0,11,2,-1,-2,0,1,2,-1,-1,0,1,3,-1,0,0,1,3,-1,1,0,13,2,-1,10,0,2,2,0,-2,0,2,2,0,2,0,1,4,0,3,0,1,3,0,10,0,2,2,1,-2,0,2,2,1,10,0,2,2,2,-2,0,3,2,2,-1,0,3,3,2,0,0,3,3,2,1,0,11,2,2,10,0,2,2,3,-7,0,1,4,3,-6,0,1,3,3,1,0,3,2,3,2,0,3,3,3,3,0,3,3,3,7,0,1,2,3,8,0,1,3,3,9,0,1,3,3,10,0,13,2,4,7,0,2,2,5,7,0,2,2,6,7,0,2,2,7,7,0,2,2,8,-5,0,1,4,8,-4,0,1,3,8,4,0,1,2,8,5,0,1,3,8,6,0,1,3,8,7,0,13,2,9,4,0,2,2,10,4,0,2,2,11,4,0,2,2,12,-3,0,1,4,12,-2,0,1,3,12,-1,0,1,3,12,0,0,1,3,12,1,0,1,3,12,2,0,1,3,12,3,0,1,3,12,4,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_preinstall.json
deleted file mode 100644
index af06e7e..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":137,"Y":137},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]}],[{"Position":{"X":135,"Y":114},"Size":{"X":179,"Y":90},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]}]]},{"Name":"test2","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":138,"Y":89},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":194,"Y":136},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_roomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_roomInfo.json
deleted file mode 100644
index aff30bf..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_roomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":1,"Y":2},"Size":{"X":15,"Y":10},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":1,"RoomName":"Start1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_tileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_tileInfo.json
deleted file mode 100644
index 2b8c008..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Start1_tileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[40,56,232,56,232,176,40,176]}],"Floor":[14,10,0,0,8,14,9,0,0,8,14,8,0,0,8,14,7,0,0,8,14,6,0,0,8,14,5,0,0,8,14,4,0,0,8,14,3,0,0,8,13,10,0,0,8,13,9,0,0,8,13,8,0,0,8,13,7,0,0,8,13,6,0,0,8,13,5,0,0,8,13,4,0,0,8,13,3,0,0,8,12,10,0,0,8,12,9,0,0,8,12,8,0,0,8,12,7,0,0,8,12,6,0,0,8,12,5,0,0,8,12,4,0,0,8,12,3,0,0,8,11,10,0,0,8,11,9,0,0,8,11,8,0,0,8,11,7,0,0,8,11,6,0,0,8,11,5,0,0,8,11,4,0,0,8,11,3,0,0,8,10,10,0,0,8,10,9,0,0,8,10,8,0,0,8,10,7,0,0,8,10,6,0,0,8,10,5,0,0,8,10,4,0,0,8,10,3,0,0,8,9,10,0,0,8,9,9,0,0,8,9,8,0,0,8,9,7,0,0,8,9,6,0,0,8,9,5,0,0,8,9,4,0,0,8,9,3,0,0,8,8,10,0,0,8,8,9,0,0,8,8,8,0,0,8,8,7,0,0,8,8,6,0,0,8,8,5,0,0,8,8,4,0,0,8,8,3,0,0,8,7,10,0,0,8,7,9,0,0,8,7,8,0,0,8,7,7,0,0,8,7,6,0,0,8,7,5,0,0,8,7,4,0,0,8,7,3,0,0,8,6,10,0,0,8,6,9,0,0,8,6,8,0,0,8,6,7,0,0,8,6,6,0,0,8,6,5,0,0,8,6,4,0,0,8,6,3,0,0,8,5,10,0,0,8,5,9,0,0,8,5,8,0,0,8,5,7,0,0,8,5,6,0,0,8,5,5,0,0,8,5,4,0,0,8,5,3,0,0,8,4,10,0,0,8,4,9,0,0,8,4,8,0,0,8,4,7,0,0,8,4,6,0,0,8,4,5,0,0,8,4,4,0,0,8,4,3,0,0,8,3,10,0,0,8,3,9,0,0,8,3,8,0,0,8,3,7,0,0,8,3,6,0,0,8,3,5,0,0,8,3,4,0,0,8,3,3,0,0,8,2,10,0,0,8,2,9,0,0,8,2,8,0,0,8,2,7,0,0,8,2,6,0,0,8,2,5,0,0,8,2,4,0,0,8,2,3,0,0,8],"Middle":[2,2,0,2,7,3,2,0,2,7,4,2,0,2,7,5,2,0,2,7,6,2,0,2,7,7,2,0,2,7,8,2,0,2,7,9,2,0,2,7,10,2,0,2,7,11,2,0,2,7,12,2,0,2,7,13,2,0,2,7,14,2,0,2,7],"Top":[1,2,0,3,4,1,3,0,3,3,1,4,0,3,3,1,5,0,3,3,1,6,0,3,3,1,7,0,3,3,1,8,0,3,3,1,9,0,3,3,1,10,0,3,3,1,11,0,11,2,2,11,0,2,2,3,11,0,2,2,4,11,0,2,2,5,11,0,2,2,6,11,0,2,2,7,11,0,2,2,8,11,0,2,2,9,11,0,2,2,10,11,0,2,2,11,11,0,2,2,12,11,0,2,2,13,11,0,2,2,14,11,0,2,2,15,2,0,1,4,15,3,0,1,3,15,4,0,1,3,15,5,0,1,3,15,6,0,1,3,15,7,0,1,3,15,8,0,1,3,15,9,0,1,3,15,10,0,1,3,15,11,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_preinstall.json
deleted file mode 100644
index ce70790..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_roomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_roomInfo.json
deleted file mode 100644
index d1770b2..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_roomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-5,"Y":-6},"Size":{"X":13,"Y":11},"DoorAreaInfos":[{"Direction":3,"Start":0,"End":176},{"Direction":0,"Start":0,"End":144},{"Direction":2,"Start":0,"End":176},{"Direction":1,"Start":0,"End":144}],"GroupName":"TestGroup1","RoomType":2,"RoomName":"End1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_tileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_tileInfo.json
deleted file mode 100644
index 34d5dc3..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/End1_tileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-56,-72,104,-72,104,64,-56,64]}],"Floor":[6,3,0,0,8,6,2,0,0,8,6,1,0,0,8,6,0,0,0,8,6,-1,0,0,8,6,-2,0,0,8,6,-3,0,0,8,6,-4,0,0,8,6,-5,0,0,8,5,3,0,0,8,5,2,0,0,8,5,1,0,0,8,5,0,0,0,8,5,-1,0,0,8,5,-2,0,0,8,5,-3,0,0,8,5,-4,0,0,8,5,-5,0,0,8,4,3,0,0,8,4,2,0,0,8,4,1,0,0,8,4,0,0,0,8,4,-1,0,0,8,4,-2,0,0,8,4,-3,0,0,8,4,-4,0,0,8,4,-5,0,0,8,3,3,0,0,8,3,2,0,0,8,3,1,0,0,8,3,0,0,0,8,3,-1,0,0,8,3,-2,0,0,8,3,-3,0,0,8,3,-4,0,0,8,3,-5,0,0,8,2,3,0,0,8,2,2,0,0,8,2,1,0,0,8,2,0,0,0,8,2,-1,0,0,8,2,-2,0,0,8,2,-3,0,0,8,2,-4,0,0,8,2,-5,0,0,8,1,3,0,0,8,1,2,0,0,8,1,1,0,0,8,1,0,0,0,8,1,-1,0,0,8,1,-2,0,0,8,1,-3,0,0,8,1,-4,0,0,8,1,-5,0,0,8,0,3,0,0,8,0,2,0,0,8,0,1,0,0,8,0,0,0,0,8,0,-1,0,0,8,0,-2,0,0,8,0,-3,0,0,8,0,-4,0,0,8,0,-5,0,0,8,-1,3,0,0,8,-1,2,0,0,8,-1,1,0,0,8,-1,0,0,0,8,-1,-1,0,0,8,-1,-2,0,0,8,-1,-3,0,0,8,-1,-4,0,0,8,-1,-5,0,0,8,-2,3,0,0,8,-2,2,0,0,8,-2,1,0,0,8,-2,0,0,0,8,-2,-1,0,0,8,-2,-2,0,0,8,-2,-3,0,0,8,-2,-4,0,0,8,-2,-5,0,0,8,-3,3,0,0,8,-3,2,0,0,8,-3,1,0,0,8,-3,0,0,0,8,-3,-1,0,0,8,-3,-2,0,0,8,-3,-3,0,0,8,-3,-4,0,0,8,-3,-5,0,0,8,-4,3,0,0,8,-4,2,0,0,8,-4,1,0,0,8,-4,0,0,0,8,-4,-1,0,0,8,-4,-2,0,0,8,-4,-3,0,0,8,-4,-4,0,0,8,-4,-5,0,0,8],"Middle":[-4,-6,0,2,7,-3,-6,0,2,7,-2,-6,0,2,7,-1,-6,0,2,7,0,-6,0,2,7,1,-6,0,2,7,2,-6,0,2,7,3,-6,0,2,7,4,-6,0,2,7,5,-6,0,2,7,6,-6,0,2,7],"Top":[-5,-6,0,3,4,-5,-5,0,3,3,-5,-4,0,3,3,-5,-3,0,3,3,-5,-2,0,3,3,-5,-1,0,3,3,-5,0,0,3,3,-5,1,0,3,3,-5,2,0,3,3,-5,3,0,3,3,-5,4,0,11,2,-4,4,0,2,2,-3,4,0,2,2,-2,4,0,2,2,-1,4,0,2,2,0,4,0,2,2,1,4,0,2,2,2,4,0,2,2,3,4,0,2,2,4,4,0,2,2,5,4,0,2,2,6,4,0,2,2,7,-6,0,1,4,7,-5,0,1,3,7,-4,0,1,3,7,-3,0,1,3,7,-2,0,1,3,7,-1,0,1,3,7,0,0,1,3,7,1,0,1,3,7,2,0,1,3,7,3,0,1,3,7,4,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/DungeonRoomSplit.cs b/DungeonShooting_Godot/src/framework/map/serialize/DungeonRoomSplit.cs
index e7154a5..239bc8e 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/DungeonRoomSplit.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/DungeonRoomSplit.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
+using System.IO;
using System.Text.Json;
using System.Text.Json.Serialization;
using Godot;
@@ -16,28 +17,34 @@
public RoomErrorType ErrorType;
///
- /// 房间配置路径
+ /// 该房间的文件夹路径
///
[JsonInclude]
- public string RoomPath;
+ public string Path;
+
+ ///
+ /// 房间配置路径
+ ///
+ [JsonIgnore]
+ public string RoomPath => Path + "/RoomInfo.json";
///
/// 房间地块配置数据
///
- [JsonInclude]
- public string TilePath;
+ [JsonIgnore]
+ public string TilePath => Path + "/TileInfo.json";
///
/// 房间预设配置数据
///
- [JsonInclude]
- public string PreinstallPath;
+ [JsonIgnore]
+ public string PreinstallPath => Path + "/Preinstall.json";
///
/// 预览图路径
///
- [JsonInclude]
- public string PreviewPath;
+ [JsonIgnore]
+ public string PreviewPath => Path + "/Preview.png";
///
/// 房间配置数据, 第一次获取会在资源中加载数据
@@ -98,6 +105,34 @@
}
private List _preinstall;
+
+ ///
+ /// 预览图
+ ///
+ [JsonIgnore]
+ public Texture2D PreviewImage
+ {
+ get
+ {
+ if (_previewImage == null)
+ {
+ ReloadPreviewImage();
+ }
+
+ return _previewImage;
+ }
+ set
+ {
+ if (_previewImage != null)
+ {
+ _previewImage.Dispose();
+ }
+
+ _previewImage = value;
+ }
+ }
+
+ private Texture2D _previewImage;
///
/// 重新加载房间数据
@@ -125,4 +160,44 @@
var asText = ResourceManager.LoadText(PreinstallPath);
_preinstall = JsonSerializer.Deserialize>(asText);
}
+
+ ///
+ /// 重新加载预览图片
+ ///
+ public void ReloadPreviewImage()
+ {
+ if (_previewImage != null)
+ {
+ _previewImage.Dispose();
+ }
+
+ if (File.Exists(PreviewPath))
+ {
+ var bytes = File.ReadAllBytes(PreviewPath);
+
+ var image = Image.Create(GameConfig.PreviewImageSize, GameConfig.PreviewImageSize, false, Image.Format.Rgb8);
+ image.LoadPngFromBuffer(bytes);
+ _previewImage = ImageTexture.CreateFromImage(image);
+ }
+ }
+
+ public override bool Equals(object obj)
+ {
+ if (obj == null)
+ {
+ return false;
+ }
+
+ if (obj is DungeonRoomSplit roomSplit)
+ {
+ return roomSplit.Path == Path;
+ }
+
+ return this == obj;
+ }
+
+ public override int GetHashCode()
+ {
+ return Path.GetHashCode();
+ }
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/RoomErrorType.cs b/DungeonShooting_Godot/src/framework/map/serialize/RoomErrorType.cs
index 6cf5876..510c27b 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/RoomErrorType.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/RoomErrorType.cs
@@ -9,15 +9,19 @@
///
None = 0,
///
+ /// 空房间
+ ///
+ Empty = 1,
+ ///
/// 地图绘制错误
///
- TileError = 1,
+ TileError = 2,
///
/// 门区域绘制错误
///
- DoorAreaError = 2,
+ DoorAreaError = 3,
///
/// 没有预设
///
- NoPreinstallError = 3
+ NoPreinstallError = 4
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/GameConfig.cs b/DungeonShooting_Godot/src/game/GameConfig.cs
index 2eeb673..e6e1cd2 100644
--- a/DungeonShooting_Godot/src/game/GameConfig.cs
+++ b/DungeonShooting_Godot/src/game/GameConfig.cs
@@ -72,4 +72,9 @@
/// 配置层级的自定义数据名称
///
public const string CustomTileLayerName = "TileLayer";
+
+ ///
+ /// 预览图大小
+ ///
+ public const int PreviewImageSize = 196;
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/manager/EditorManager.cs b/DungeonShooting_Godot/src/game/manager/EditorManager.cs
index a658b15..a6638e9 100644
--- a/DungeonShooting_Godot/src/game/manager/EditorManager.cs
+++ b/DungeonShooting_Godot/src/game/manager/EditorManager.cs
@@ -142,6 +142,8 @@
{
case RoomErrorType.None:
return "";
+ case RoomErrorType.Empty:
+ return "房间没有绘制地块";
case RoomErrorType.TileError:
return "房间地块存在绘制错误";
case RoomErrorType.DoorAreaError:
diff --git a/DungeonShooting_Godot/src/game/manager/MapProjectManager.cs b/DungeonShooting_Godot/src/game/manager/MapProjectManager.cs
index 6e06a55..77ae412 100644
--- a/DungeonShooting_Godot/src/game/manager/MapProjectManager.cs
+++ b/DungeonShooting_Godot/src/game/manager/MapProjectManager.cs
@@ -110,30 +110,6 @@
}
///
- /// 获取房间地块配置文件名称
- ///
- public static string GetTileInfoConfigName(string roomName)
- {
- return roomName + "_tileInfo.json";
- }
-
- ///
- /// 获取房间基础配置文件名称
- ///
- public static string GetRoomInfoConfigName(string roomName)
- {
- return roomName + "_roomInfo.json";
- }
-
- ///
- /// 获取房间预设数据配置文件名称
- ///
- public static string GetRoomPreinstallConfigName(string roomName)
- {
- return roomName + "_preinstall.json";
- }
-
- ///
/// 创建地牢组
///
public static void CreateGroup(DungeonRoomGroup group)
@@ -265,7 +241,7 @@
Directory.CreateDirectory(path);
}
- image.SaveJpg(roomSplit.PreviewPath);
+ image.SavePng(roomSplit.PreviewPath);
}
///
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs
index 1838edb..ed87a88 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs
@@ -189,7 +189,11 @@
private CheckResult CheckError()
{
var editorTileMap = S_TileMap.Instance;
- if (editorTileMap.HasTerrainError) //地图绘制错误
+ if (editorTileMap.CurrRoomSize == Vector2I.Zero)
+ {
+ return new CheckResult(true, RoomErrorType.Empty);
+ }
+ else if (editorTileMap.HasTerrainError) //地图绘制错误
{
return new CheckResult(true, RoomErrorType.TileError);
}
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
index 880f509..223e120 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
@@ -1088,14 +1088,13 @@
SetLayerEnabled(AutoTopLayer, _tempAutoTopLayer);
SetLayerEnabled(CustomTopLayer, _tempCustomTopLayer);
- //保存截图
+ //保存预览图
var subViewport = MapEditorPanel.S_SubViewport.Instance;
var viewportTexture = subViewport.GetTexture();
- using (var image = viewportTexture.GetImage())
- {
- image.Resize(196, 196, Image.Interpolation.Lanczos);
- image.SavePng("D:\\test.png");
- }
+ var image = viewportTexture.GetImage();
+ image.Resize(GameConfig.PreviewImageSize, GameConfig.PreviewImageSize, Image.Interpolation.Nearest);
+ CurrRoomSplit.PreviewImage = ImageTexture.CreateFromImage(image);
+ MapProjectManager.SaveRoomPreviewImage(CurrRoomSplit, image);
_previewFinish();
_hasPreviewImage = false;
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
index 4567f1e..7ad311a 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
@@ -124,7 +124,6 @@
}
-
//检测是否有同名房间
var temp = roomInfo.GroupName + "/" + DungeonManager.DungeonRoomTypeToString(roomInfo.RoomType) + "/" + roomInfo.RoomName;
var dirPath = MapProjectManager.CustomMapPath + temp;
@@ -134,14 +133,14 @@
EditorWindowManager.ShowTips("错误", $"已经有相同路径的房间了!\n路径: {temp}");
return null;
}
-
roomInfo.Size = new SerializeVector2();
roomInfo.Position = new SerializeVector2();
roomInfo.DoorAreaInfos = new List();
var roomSplit = new DungeonRoomSplit();
- roomSplit.RoomPath = dirPath + "/" + MapProjectManager.GetRoomInfoConfigName(roomInfo.RoomName);
+ roomSplit.ErrorType = RoomErrorType.Empty;
+ roomSplit.Path = dirPath;
roomSplit.RoomInfo = roomInfo;
var tileInfo = new DungeonTileInfo();
@@ -149,11 +148,8 @@
tileInfo.Floor = new List();
tileInfo.Middle = new List();
tileInfo.Top = new List();
-
- roomSplit.TilePath = dirPath + "/" + MapProjectManager.GetTileInfoConfigName(roomInfo.RoomName);
- roomSplit.TileInfo = tileInfo;
- roomSplit.PreinstallPath = dirPath + "/" + MapProjectManager.GetRoomPreinstallConfigName(roomInfo.RoomName);
+ roomSplit.TileInfo = tileInfo;
roomSplit.Preinstall = new List();
return roomSplit;
}
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorProject/GroupButtonCell.cs b/DungeonShooting_Godot/src/game/ui/mapEditorProject/GroupButtonCell.cs
index 1b4a803..39d83ee 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorProject/GroupButtonCell.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorProject/GroupButtonCell.cs
@@ -21,13 +21,9 @@
}
//选中工程
- public override void OnClick()
- {
- CellNode.UiPanel.SelectGroup(Data);
- }
-
public override void OnSelect()
{
+ CellNode.UiPanel.SelectGroup(Data);
CellNode.L_SelectTexture.Instance.Visible = true;
}
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs
index da4428d..c64614d 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs
@@ -78,8 +78,10 @@
///
public void RefreshGroup()
{
+ var index = _groupGrid.SelectIndex;
MapProjectManager.RefreshMapGroup();
OnSearchGroupButtonClick();
+ _groupGrid.SelectIndex = index;
}
///
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs b/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs
index 91e94ed..3d33d13 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs
@@ -13,6 +13,10 @@
{
CellNode.L_RoomName.Instance.Text = data.RoomInfo.RoomName;
CellNode.L_RoomType.Instance.Text = DungeonManager.DungeonRoomTypeToDescribeString(data.RoomInfo.RoomType);
+
+ //预览图
+ CellNode.L_PreviewImage.Instance.Texture = data.PreviewImage;
+
//提示
var tipText = "权重: " + data.RoomInfo.Weight;
@@ -34,6 +38,11 @@
CellNode.Instance.TooltipText = tipText;
}
+ public override void OnDisable()
+ {
+ CellNode.L_PreviewImage.Instance.Texture = null;
+ }
+
public override void OnDoubleClick()
{
//打开房间编辑器