diff --git a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
index a4c35ea..a4acaf9 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
@@ -1,86 +1,14 @@
{
- "TestGroup1": {
- "GroupName": "TestGroup1",
+ "Test1": {
+ "GroupName": "Test1",
"BattleList": [
{
"ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/battle/Battle1"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/battle/Battle2"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/battle/Battle3"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/battle/Battle4"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/battle/Battle5"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/battle/Battle6"
+ "Path": "resource/map/tileMaps/Test1/battle/Battle1"
}
],
- "InletList": [
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/inlet/Start1"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/inlet/Start2"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/inlet/Start3"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/inlet/Start4"
- },
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/inlet/Start5"
- }
- ],
- "OutletList": [
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup1/outlet/End1"
- }
- ],
- "BossList": [],
- "RewardList": [],
- "ShopList": [],
- "EventList": [],
- "Remark": "\u6D4B\u8BD5\u7EC4"
- },
- "TestGroup2": {
- "GroupName": "TestGroup2",
- "BattleList": [
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup2/battle/Battle1"
- }
- ],
- "InletList": [
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup2/inlet/Start1"
- }
- ],
- "OutletList": [
- {
- "ErrorType": 0,
- "Path": "resource/map/tileMaps/TestGroup2/outlet/End1"
- }
- ],
+ "InletList": [],
+ "OutletList": [],
"BossList": [],
"RewardList": [],
"ShopList": [],
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/Preinstall.json
new file mode 100644
index 0000000..638cd69
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/Preinstall.json
@@ -0,0 +1 @@
+[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/Preview.png
new file mode 100644
index 0000000..7db44f0
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/RoomInfo.json
new file mode 100644
index 0000000..5eac39c
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/RoomInfo.json
@@ -0,0 +1 @@
+{"Position":{"X":-3,"Y":-5},"Size":{"X":10,"Y":10},"DoorAreaInfos":[],"GroupName":"Test1","RoomType":0,"RoomName":"Battle1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json
new file mode 100644
index 0000000..e06b107
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json
@@ -0,0 +1 @@
+{"NavigationVertices":[{"X":58,"Y":6},{"X":74,"Y":6},{"X":74,"Y":50},{"X":-10,"Y":50},{"X":-10,"Y":-26},{"X":58,"Y":-26}],"NavigationPolygon":[[0,1,2,3],[0,3,4,5]],"Floor":[-1,-1,0,3,-1,-2,0,3,0,-2,0,3,1,-2,0,3,2,-2,0,3,3,-2,0,3,3,-1,0,3,3,0,0,3,2,0,0,3,2,-1,0,3,1,-1,0,3,0,-1,0,3,0,0,0,3,-1,0,0,3,1,0,0,3,-1,1,0,3,0,1,0,3,1,1,0,3,2,1,0,3,3,1,0,3,4,1,0,3,4,2,0,3,3,2,0,3,2,2,0,3,1,2,0,3,0,2,0,3,-1,2,0,3,4,0,0,3],"Middle":[-1,-4,63,1,-1,-3,0,2,0,-4,63,1,0,-3,0,2,1,-4,63,1,1,-3,0,2,2,-4,63,1,2,-3,0,2,3,-4,63,1,3,-3,0,2,4,-2,54,1,4,-1,0,2],"Top":[-3,-5,511,1,-3,-4,511,1,-3,-3,511,1,-3,-2,511,1,-3,-1,511,1,-3,0,511,1,-3,1,511,1,-3,2,511,1,-3,3,511,1,-3,4,511,1,-2,-5,511,1,-2,-4,255,1,-2,-3,219,1,-2,-2,219,1,-2,-1,219,1,-2,0,219,1,-2,1,219,1,-2,2,219,1,-2,3,507,1,-2,4,511,1,-1,-5,511,1,-1,3,504,1,-1,4,511,1,0,-5,511,1,0,3,504,1,0,4,511,1,1,-5,511,1,1,3,504,1,1,4,511,1,2,-5,511,1,2,3,504,1,2,4,511,1,3,-5,511,1,3,3,504,1,3,4,511,1,4,-5,511,1,4,-4,447,1,4,-3,438,1,4,3,504,1,4,4,511,1,5,-5,511,1,5,-4,511,1,5,-3,511,1,5,-2,447,1,5,-1,438,1,5,0,438,1,5,1,438,1,5,2,438,1,5,3,510,1,5,4,511,1,6,-3,511,1,6,-2,511,1,6,-1,511,1,6,0,511,1,6,1,511,1,6,2,511,1,6,3,511,1,6,4,511,1]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preinstall.json
deleted file mode 100644
index 4ebcc0d..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":-4,"Y":-6},"Size":{"X":30,"Y":26},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0002","CurrAmmon":"7","ResidueAmmo":"7"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":38,"Y":48},"Size":{"X":31,"Y":25},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0002","CurrAmmon":"7","ResidueAmmo":"7"},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":38,"Y":-3},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":103,"Y":13},"Size":{"X":105,"Y":36},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":-9,"Y":38},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":17,"Y":78},"Size":{"X":26,"Y":66},"SpecialMarkType":0,"DelayTime":1.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0006","CurrAmmon":"20","ResidueAmmo":"20"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":19,"Y":-48},"Size":{"X":16,"Y":63},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0002","CurrAmmon":"7","ResidueAmmo":"7"},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ 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
deleted file mode 100644
index 908f7ce..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png
+++ /dev/null
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
deleted file mode 100644
index 67c37b0..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[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
deleted file mode 100644
index 1e6b269..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-7,"Y":-7},"Size":{"X":23,"Y":16},"DoorAreaInfos":[{"Direction":3,"Start":0,"End":224},{"Direction":2,"Start":0,"End":224},{"Direction":0,"Start":144,"End":208},{"Direction":0,"Start":16,"End":80},{"Direction":1,"Start":0,"End":224}],"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
deleted file mode 100644
index 309a41e..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-88,-88,120,-88,120,-24,168,-24,168,-88,184,-88,184,-72,232,-72,232,-16,184,-16,184,56,232,56,232,112,184,112,184,128,168,128,168,48,120,48,120,128,-88,128]},{"Type":1,"Points":[-72,-64,-8,-64,-8,-24,-24,-24,-24,-8,-72,-8]},{"Type":1,"Points":[40,-64,104,-64,104,-8,56,-8,56,-24,40,-24]},{"Type":1,"Points":[-72,48,-24,48,-24,64,-8,64,-8,104,-72,104]},{"Type":1,"Points":[56,48,104,48,104,104,40,104,40,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,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,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,-2,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,2,0,0,8,5,-1,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,2,0,0,8,4,-1,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,5,0,0,8,2,4,0,0,8,2,-3,0,0,8,2,-4,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,5,0,0,8,-1,4,0,0,8,-1,-3,0,0,8,-1,-4,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,2,0,0,8,-3,-1,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,2,0,0,8,-4,-1,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,-2,0,0,8,8,2,0,0,8,8,-1,0,0,8,8,0,0,0,8,8,1,0,0,8,9,-2,0,0,8,9,2,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,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,-2,0,1,7,-4,5,0,1,7,-3,-7,0,2,7,-3,-2,0,3,7,-3,5,0,2,7,-2,-7,0,2,7,-2,-3,0,3,7,-2,5,0,3,7,-1,-7,0,2,7,0,-7,0,2,7,1,-7,0,2,7,2,-7,0,2,7,3,-7,0,2,7,3,-3,0,1,7,3,5,0,1,7,4,-7,0,2,7,4,-2,0,1,7,4,5,0,2,7,5,-7,0,2,7,5,-2,0,3,7,5,5,0,3,7,6,-7,0,2,7,7,-7,0,2,7,8,-3,0,1,7,9,-3,0,3,7,10,-7,0,2,7,11,-7,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,3,0,1,2,-4,4,0,1,3,-4,8,0,2,2,-3,-4,0,2,2,-3,-3,0,3,4,-3,3,0,3,2,-3,4,0,11,2,-3,8,0,2,2,-2,-4,0,3,2,-2,4,0,3,2,-2,8,0,2,2,-1,8,0,2,2,0,8,0,2,2,1,8,0,2,2,2,8,0,2,2,3,-4,0,1,2,3,4,0,1,2,3,8,0,2,2,4,-4,0,2,2,4,-3,0,1,4,4,3,0,1,2,4,4,0,13,2,4,8,0,2,2,5,-4,0,3,2,5,-3,0,3,3,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,-7,0,1,4,8,-6,0,1,3,8,-5,0,1,3,8,-4,0,1,3,8,3,0,1,2,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,-7,0,3,4,9,-6,0,3,3,9,-5,0,3,3,9,-4,0,3,3,9,3,0,3,2,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,-7,0,1,4,12,-1,0,1,2,12,0,0,1,3,12,1,0,1,3,12,7,0,1,2,12,8,0,13,2,13,-1,0,2,2,13,7,0,2,2,14,-1,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,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
deleted file mode 100644
index d380491..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":178,"Y":-21},"Size":{"X":92,"Y":73},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":76,"Y":168},"Size":{"X":43,"Y":77},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":24,"Y":103},"Size":{"X":66,"Y":48},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0002","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":89,"Y":19},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":65,"Y":142},"Size":{"X":48,"Y":160},"SpecialMarkType":0,"DelayTime":0.5,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":79,"Y":45},"Size":{"X":46,"Y":121},"SpecialMarkType":0,"DelayTime":0.5,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":181,"Y":203},"Size":{"X":66,"Y":33},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-19,"Y":100},"Size":{"X":97,"Y":63},"SpecialMarkType":0,"DelayTime":1.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":117,"Y":-14},"Size":{"X":122,"Y":78},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":126,"Y":207},"Size":{"X":81,"Y":27},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0002","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":78,"Y":89},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-79,"Y":15},"Size":{"X":30,"Y":140},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-50,"Y":114},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0003","CurrAmmon":"12","ResidueAmmo":"12"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":45,"Y":187},"Size":{"X":42,"Y":72},"SpecialMarkType":0,"DelayTime":3,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0003","CurrAmmon":"12","ResidueAmmo":"12"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":119,"Y":-45},"Size":{"X":91,"Y":37},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0002","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-27,"Y":80},"Size":{"X":112,"Y":34},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0002","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ 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
deleted file mode 100644
index 41a778f..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png
+++ /dev/null
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
deleted file mode 100644
index 47c9f9a..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[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
deleted file mode 100644
index 24c608a..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-8,"Y":-6},"Size":{"X":25,"Y":22},"DoorAreaInfos":[{"Direction":3,"Start":0,"End":64},{"Direction":1,"Start":0,"End":240},{"Direction":2,"Start":96,"End":368},{"Direction":0,"Start":240,"End":320},{"Direction":0,"Start":0,"End":112},{"Direction":3,"Start":144,"End":368}],"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
deleted file mode 100644
index 38a683d..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-104,-72,-56,-72,-56,56,40,56,40,-72,248,-72,248,32,120,32,120,168,248,168,248,240,-8,240,-8,200,8,200,8,144,-40,144,-40,160,-104,160]}],"Floor":[15,14,0,0,8,15,13,0,0,8,15,12,0,0,8,15,11,0,0,8,15,10,0,0,8,15,1,0,0,8,15,0,0,0,8,15,-1,0,0,8,15,-2,0,0,8,15,-3,0,0,8,15,-4,0,0,8,15,-5,0,0,8,14,14,0,0,8,14,13,0,0,8,14,12,0,0,8,14,11,0,0,8,14,10,0,0,8,14,1,0,0,8,14,0,0,0,8,14,-1,0,0,8,14,-2,0,0,8,14,-3,0,0,8,14,-4,0,0,8,14,-5,0,0,8,13,14,0,0,8,13,13,0,0,8,13,12,0,0,8,13,11,0,0,8,13,10,0,0,8,13,1,0,0,8,13,0,0,0,8,13,-1,0,0,8,13,-2,0,0,8,13,-3,0,0,8,13,-4,0,0,8,13,-5,0,0,8,12,14,0,0,8,12,13,0,0,8,12,12,0,0,8,12,11,0,0,8,12,10,0,0,8,12,1,0,0,8,12,0,0,0,8,12,-1,0,0,8,12,-2,0,0,8,12,-3,0,0,8,12,-4,0,0,8,12,-5,0,0,8,11,14,0,0,8,11,13,0,0,8,11,12,0,0,8,11,11,0,0,8,11,10,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,10,14,0,0,8,10,13,0,0,8,10,12,0,0,8,10,11,0,0,8,10,10,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,9,14,0,0,8,9,13,0,0,8,9,12,0,0,8,9,11,0,0,8,9,10,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,8,14,0,0,8,8,13,0,0,8,8,12,0,0,8,8,11,0,0,8,8,10,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,7,14,0,0,8,7,13,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,6,14,0,0,8,6,13,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,5,14,0,0,8,5,13,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,4,14,0,0,8,4,13,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,3,14,0,0,8,3,13,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,2,14,0,0,8,2,13,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,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,-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,-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,-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,-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,-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,1,14,0,0,8,1,13,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,4,0,0,8,1,3,0,0,8,0,14,0,0,8,0,13,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,4,0,0,8,0,3,0,0,8,-1,14,0,0,8,-1,13,0,0,8,-1,12,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,-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":[-7,-6,0,2,7,-6,-6,0,2,7,-5,-6,0,2,7,-4,-6,0,2,7,-3,2,0,1,7,-2,2,0,2,7,-1,2,0,2,7,-1,11,0,3,7,0,2,0,2,7,1,2,0,3,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,7,-6,0,2,7,8,-6,0,2,7,8,9,0,1,7,9,-6,0,2,7,9,9,0,2,7,10,-6,0,2,7,10,9,0,2,7,11,-6,0,2,7,11,9,0,2,7,12,-6,0,2,7,12,9,0,2,7,13,-6,0,2,7,13,9,0,2,7,14,-6,0,2,7,14,9,0,2,7,15,-6,0,2,7,15,9,0,2,7],"Top":[-8,-6,0,3,4,-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,3,3,-8,7,0,3,3,-8,8,0,3,3,-8,9,0,3,3,-8,10,0,11,2,-7,10,0,2,2,-6,10,0,2,2,-5,10,0,2,2,-4,10,0,2,2,-3,-6,0,1,4,-3,-5,0,1,3,-3,-4,0,1,3,-3,-3,0,1,3,-3,-2,0,1,3,-3,-1,0,1,3,-3,0,0,1,3,-3,1,0,1,3,-3,10,0,2,2,-2,9,0,1,2,-2,10,0,13,2,-2,11,0,3,4,-2,12,0,3,3,-2,13,0,3,3,-2,14,0,3,3,-2,15,0,11,2,-1,9,0,3,2,-1,10,0,3,3,-1,15,0,2,2,0,15,0,2,2,1,-6,0,3,4,1,-5,0,3,3,1,-4,0,3,3,1,-3,0,3,3,1,-2,0,3,3,1,-1,0,3,3,1,0,0,3,3,1,1,0,3,3,1,15,0,2,2,2,15,0,2,2,3,15,0,2,2,4,15,0,2,2,5,15,0,2,2,6,15,0,2,2,7,15,0,2,2,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,1,3,8,15,0,2,2,9,2,0,2,2,9,15,0,2,2,10,2,0,2,2,10,15,0,2,2,11,2,0,2,2,11,15,0,2,2,12,2,0,2,2,12,15,0,2,2,13,2,0,2,2,13,15,0,2,2,14,2,0,2,2,14,15,0,2,2,15,2,0,2,2,15,15,0,2,2,16,-6,0,1,4,16,-5,0,1,3,16,-4,0,1,3,16,-3,0,1,3,16,-2,0,1,3,16,-1,0,1,3,16,0,0,1,3,16,1,0,1,3,16,2,0,13,2,16,9,0,1,4,16,10,0,1,3,16,11,0,1,3,16,12,0,1,3,16,13,0,1,3,16,14,0,1,3,16,15,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preinstall.json
deleted file mode 100644
index 3734766..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test12","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":406,"Y":427},"Size":{"X":66,"Y":54},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0001","CurrAmmon":"30","ResidueAmmo":"30"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":250,"Y":439},"Size":{"X":98,"Y":68},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0001","CurrAmmon":"30","ResidueAmmo":"30"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":329,"Y":370},"Size":{"X":44,"Y":65},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0001","CurrAmmon":"30","ResidueAmmo":"30"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":317,"Y":196},"Size":{"X":201,"Y":60},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":220,"Y":317},"Size":{"X":39,"Y":134},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":473,"Y":302},"Size":{"X":61,"Y":111},"SpecialMarkType":0,"DelayTime":0.5,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":285,"Y":426},"Size":{"X":149,"Y":56},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":468,"Y":324},"Size":{"X":66,"Y":110},"SpecialMarkType":0,"DelayTime":1.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":346,"Y":371},"Size":{"X":17,"Y":94},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":387,"Y":200},"Size":{"X":82,"Y":36},"SpecialMarkType":0,"DelayTime":2.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":246,"Y":175},"Size":{"X":84,"Y":65},"SpecialMarkType":0,"DelayTime":3,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":325,"Y":417},"Size":{"X":41,"Y":45},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0006","CurrAmmon":"20","ResidueAmmo":"20"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":443,"Y":242},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0006","CurrAmmon":"20","ResidueAmmo":"20"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":241,"Y":227},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","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/Battle3/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preview.png
deleted file mode 100644
index 7276ff0..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preview.png.import
deleted file mode 100644
index 792054f..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://b3m084aaip558"
-path="res://.godot/imported/Preview.png-8c476da21cd7f2ad84205fc0a7e6692d.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/battle/Battle3/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-8c476da21cd7f2ad84205fc0a7e6692d.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/Battle3/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/RoomInfo.json
deleted file mode 100644
index 61b84dc..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":10,"Y":6},"Size":{"X":24,"Y":25},"DoorAreaInfos":[{"Direction":1,"Start":0,"End":368},{"Direction":3,"Start":0,"End":208},{"Direction":0,"Start":96,"End":272},{"Direction":2,"Start":0,"End":144}],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle3","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/TileInfo.json
deleted file mode 100644
index c0ec3fa..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[184,120,376,120,376,152,440,152,440,216,520,216,520,384,456,384,456,464,312,464,312,480,184,480]},{"Type":1,"Points":[264,240,392,240,392,256,408,256,408,272,424,272,424,344,408,344,408,392,360,392,360,328,296,328,296,312,280,312,280,392,232,392,232,272,248,272,248,256,264,256]}],"Floor":[32,23,0,0,8,32,22,0,0,8,32,21,0,0,8,32,20,0,0,8,32,19,0,0,8,32,18,0,0,8,32,17,0,0,8,32,16,0,0,8,32,15,0,0,8,32,14,0,0,8,32,13,0,0,8,31,23,0,0,8,31,22,0,0,8,31,21,0,0,8,31,20,0,0,8,31,19,0,0,8,31,18,0,0,8,31,17,0,0,8,31,16,0,0,8,31,15,0,0,8,31,14,0,0,8,31,13,0,0,8,30,23,0,0,8,30,22,0,0,8,30,21,0,0,8,30,20,0,0,8,30,19,0,0,8,30,18,0,0,8,30,17,0,0,8,30,16,0,0,8,30,15,0,0,8,30,14,0,0,8,30,13,0,0,8,29,23,0,0,8,29,22,0,0,8,29,21,0,0,8,29,20,0,0,8,29,19,0,0,8,29,18,0,0,8,29,17,0,0,8,29,16,0,0,8,29,15,0,0,8,29,14,0,0,8,29,13,0,0,8,28,28,0,0,8,28,27,0,0,8,28,26,0,0,8,28,25,0,0,8,28,24,0,0,8,28,23,0,0,8,28,22,0,0,8,28,21,0,0,8,28,20,0,0,8,28,19,0,0,8,28,18,0,0,8,28,17,0,0,8,28,16,0,0,8,28,15,0,0,8,28,14,0,0,8,28,13,0,0,8,27,28,0,0,8,27,27,0,0,8,27,26,0,0,8,27,25,0,0,8,27,24,0,0,8,27,23,0,0,8,27,22,0,0,8,27,21,0,0,8,27,20,0,0,8,27,19,0,0,8,27,18,0,0,8,27,17,0,0,8,27,16,0,0,8,27,15,0,0,8,27,14,0,0,8,27,13,0,0,8,27,9,0,0,8,27,10,0,0,8,27,11,0,0,8,27,12,0,0,8,26,28,0,0,8,26,27,0,0,8,26,26,0,0,8,26,25,0,0,8,26,24,0,0,8,26,23,0,0,8,26,22,0,0,8,26,21,0,0,8,26,20,0,0,8,26,19,0,0,8,26,18,0,0,8,26,17,0,0,8,26,16,0,0,8,26,15,0,0,8,26,14,0,0,8,26,13,0,0,8,26,9,0,0,8,26,10,0,0,8,26,11,0,0,8,26,12,0,0,8,25,28,0,0,8,25,27,0,0,8,25,26,0,0,8,25,25,0,0,8,25,24,0,0,8,25,23,0,0,8,25,22,0,0,8,25,21,0,0,8,25,16,0,0,8,25,15,0,0,8,25,14,0,0,8,25,13,0,0,8,25,9,0,0,8,25,10,0,0,8,25,11,0,0,8,25,12,0,0,8,24,28,0,0,8,24,27,0,0,8,24,26,0,0,8,24,25,0,0,8,24,24,0,0,8,24,15,0,0,8,24,14,0,0,8,24,13,0,0,8,24,9,0,0,8,24,10,0,0,8,24,11,0,0,8,24,12,0,0,8,23,28,0,0,8,23,27,0,0,8,23,26,0,0,8,23,25,0,0,8,23,24,0,0,8,23,14,0,0,8,23,13,0,0,8,23,7,0,0,8,23,8,0,0,8,23,9,0,0,8,23,10,0,0,8,23,11,0,0,8,23,12,0,0,8,22,28,0,0,8,22,27,0,0,8,22,26,0,0,8,22,25,0,0,8,22,24,0,0,8,22,23,0,0,8,22,22,0,0,8,22,21,0,0,8,22,20,0,0,8,22,7,0,0,8,22,8,0,0,8,22,9,0,0,8,22,10,0,0,8,22,11,0,0,8,22,12,0,0,8,22,13,0,0,8,22,14,0,0,8,21,28,0,0,8,21,27,0,0,8,21,26,0,0,8,21,25,0,0,8,21,24,0,0,8,21,23,0,0,8,21,22,0,0,8,21,21,0,0,8,21,20,0,0,8,21,7,0,0,8,21,8,0,0,8,21,9,0,0,8,21,10,0,0,8,21,11,0,0,8,21,12,0,0,8,21,13,0,0,8,21,14,0,0,8,20,28,0,0,8,20,27,0,0,8,20,26,0,0,8,20,25,0,0,8,20,24,0,0,8,20,23,0,0,8,20,22,0,0,8,20,21,0,0,8,20,20,0,0,8,20,7,0,0,8,20,8,0,0,8,20,9,0,0,8,20,10,0,0,8,20,11,0,0,8,20,12,0,0,8,20,13,0,0,8,20,14,0,0,8,19,29,0,0,8,19,28,0,0,8,19,27,0,0,8,19,26,0,0,8,19,25,0,0,8,19,24,0,0,8,19,23,0,0,8,19,22,0,0,8,19,21,0,0,8,19,20,0,0,8,19,7,0,0,8,19,8,0,0,8,19,9,0,0,8,19,10,0,0,8,19,11,0,0,8,19,12,0,0,8,19,13,0,0,8,19,14,0,0,8,18,19,0,0,8,18,29,0,0,8,18,28,0,0,8,18,27,0,0,8,18,26,0,0,8,18,25,0,0,8,18,24,0,0,8,18,23,0,0,8,18,22,0,0,8,18,21,0,0,8,18,20,0,0,8,18,7,0,0,8,18,8,0,0,8,18,9,0,0,8,18,10,0,0,8,18,11,0,0,8,18,12,0,0,8,18,13,0,0,8,18,14,0,0,8,17,19,0,0,8,17,23,0,0,8,17,22,0,0,8,17,21,0,0,8,17,20,0,0,8,17,29,0,0,8,17,28,0,0,8,17,27,0,0,8,17,26,0,0,8,17,25,0,0,8,17,24,0,0,8,17,7,0,0,8,17,8,0,0,8,17,9,0,0,8,17,10,0,0,8,17,11,0,0,8,17,12,0,0,8,17,13,0,0,8,17,14,0,0,8,16,29,0,0,8,16,28,0,0,8,16,27,0,0,8,16,26,0,0,8,16,25,0,0,8,16,24,0,0,8,16,7,0,0,8,16,8,0,0,8,16,9,0,0,8,16,10,0,0,8,16,11,0,0,8,16,12,0,0,8,16,13,0,0,8,16,14,0,0,8,16,15,0,0,8,15,29,0,0,8,15,28,0,0,8,15,27,0,0,8,15,26,0,0,8,15,25,0,0,8,15,24,0,0,8,15,7,0,0,8,15,8,0,0,8,15,9,0,0,8,15,10,0,0,8,15,11,0,0,8,15,12,0,0,8,15,13,0,0,8,15,14,0,0,8,15,15,0,0,8,15,16,0,0,8,14,29,0,0,8,14,28,0,0,8,14,27,0,0,8,14,26,0,0,8,14,25,0,0,8,14,24,0,0,8,14,23,0,0,8,14,22,0,0,8,14,21,0,0,8,14,20,0,0,8,14,7,0,0,8,14,8,0,0,8,14,9,0,0,8,14,10,0,0,8,14,11,0,0,8,14,12,0,0,8,14,13,0,0,8,14,14,0,0,8,14,15,0,0,8,14,16,0,0,8,14,17,0,0,8,14,18,0,0,8,14,19,0,0,8,13,29,0,0,8,13,28,0,0,8,13,27,0,0,8,13,26,0,0,8,13,25,0,0,8,13,24,0,0,8,13,23,0,0,8,13,22,0,0,8,13,21,0,0,8,13,20,0,0,8,13,7,0,0,8,13,8,0,0,8,13,9,0,0,8,13,10,0,0,8,13,11,0,0,8,13,12,0,0,8,13,13,0,0,8,13,14,0,0,8,13,15,0,0,8,13,16,0,0,8,13,17,0,0,8,13,18,0,0,8,13,19,0,0,8,12,29,0,0,8,12,28,0,0,8,12,27,0,0,8,12,26,0,0,8,12,25,0,0,8,12,24,0,0,8,12,23,0,0,8,12,22,0,0,8,12,21,0,0,8,12,20,0,0,8,12,7,0,0,8,12,8,0,0,8,12,9,0,0,8,12,10,0,0,8,12,11,0,0,8,12,12,0,0,8,12,13,0,0,8,12,14,0,0,8,12,15,0,0,8,12,16,0,0,8,12,17,0,0,8,12,18,0,0,8,12,19,0,0,8,11,29,0,0,8,11,28,0,0,8,11,27,0,0,8,11,26,0,0,8,11,25,0,0,8,11,24,0,0,8,11,23,0,0,8,11,22,0,0,8,11,21,0,0,8,11,20,0,0,8,11,7,0,0,8,11,8,0,0,8,11,9,0,0,8,11,10,0,0,8,11,11,0,0,8,11,12,0,0,8,11,13,0,0,8,11,14,0,0,8,11,15,0,0,8,11,16,0,0,8,11,17,0,0,8,11,18,0,0,8,11,19,0,0,8],"Middle":[11,6,0,2,7,12,6,0,2,7,13,6,0,2,7,14,6,0,2,7,15,6,0,2,7,15,23,0,1,7,16,6,0,2,7,16,23,0,3,7,17,6,0,2,7,17,18,0,2,7,18,6,0,2,7,18,18,0,2,7,19,6,0,2,7,19,19,0,1,7,20,6,0,2,7,20,19,0,2,7,21,6,0,2,7,21,19,0,2,7,22,6,0,2,7,22,19,0,2,7,23,6,0,2,7,23,23,0,1,7,24,8,0,1,7,24,23,0,3,7,25,8,0,2,7,25,20,0,3,7,26,8,0,2,7,27,8,0,2,7,28,12,0,1,7,29,12,0,2,7,30,12,0,2,7,31,12,0,2,7,32,12,0,2,7],"Top":[10,6,0,3,4,10,7,0,3,3,10,8,0,3,3,10,9,0,3,3,10,10,0,3,3,10,11,0,3,3,10,12,0,3,3,10,13,0,3,3,10,14,0,3,3,10,15,0,3,3,10,16,0,3,3,10,17,0,3,3,10,18,0,3,3,10,19,0,3,3,10,20,0,3,3,10,21,0,3,3,10,22,0,3,3,10,23,0,3,3,10,24,0,3,3,10,25,0,3,3,10,26,0,3,3,10,27,0,3,3,10,28,0,3,3,10,29,0,3,3,10,30,0,11,2,11,30,0,2,2,12,30,0,2,2,13,30,0,2,2,14,30,0,2,2,15,17,0,1,2,15,18,0,1,3,15,19,0,1,3,15,20,0,1,3,15,21,0,1,3,15,22,0,1,3,15,30,0,2,2,16,16,0,1,2,16,17,0,13,2,16,18,0,3,4,16,19,0,3,3,16,20,0,3,3,16,21,0,3,3,16,22,0,3,3,16,30,0,2,2,17,15,0,1,2,17,16,0,13,2,17,30,0,2,2,18,15,0,2,2,18,30,0,2,2,19,15,0,2,2,19,18,0,1,4,19,30,0,2,2,20,15,0,2,2,20,29,0,1,2,20,30,0,13,2,21,15,0,2,2,21,29,0,2,2,22,15,0,2,2,22,29,0,2,2,23,15,0,3,2,23,16,0,11,2,23,19,0,1,4,23,20,0,1,3,23,21,0,1,3,23,22,0,1,3,23,29,0,2,2,24,6,0,1,4,24,7,0,1,3,24,16,0,3,2,24,17,0,11,2,24,20,0,3,4,24,21,0,3,3,24,22,0,3,3,24,29,0,2,2,25,17,0,3,2,25,18,0,3,3,25,19,0,3,3,25,29,0,2,2,26,29,0,2,2,27,29,0,2,2,28,8,0,1,4,28,9,0,1,3,28,10,0,1,3,28,11,0,1,3,28,29,0,2,2,29,24,0,1,2,29,25,0,1,3,29,26,0,1,3,29,27,0,1,3,29,28,0,1,3,29,29,0,13,2,30,24,0,2,2,31,24,0,2,2,32,24,0,2,2,33,12,0,1,4,33,13,0,1,3,33,14,0,1,3,33,15,0,1,3,33,16,0,1,3,33,17,0,1,3,33,18,0,1,3,33,19,0,1,3,33,20,0,1,3,33,21,0,1,3,33,22,0,1,3,33,23,0,1,3,33,24,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preinstall.json
deleted file mode 100644
index 3ca0692..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"Test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":-138,"Y":82},"Size":{"X":36,"Y":48},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":60,"Y":145},"Size":{"X":40,"Y":51},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0008","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-66,"Y":-6},"Size":{"X":51,"Y":49},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0008","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-2,"Y":-54},"Size":{"X":75,"Y":37},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0008","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":-182,"Y":105},"Size":{"X":59,"Y":26},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0005","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-162,"Y":27},"Size":{"X":42,"Y":37},"SpecialMarkType":0,"DelayTime":0.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0003","CurrAmmon":"12","ResidueAmmo":"12"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":48,"Y":21},"Size":{"X":16,"Y":91},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0005","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-52,"Y":155},"Size":{"X":106,"Y":41},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0008","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preview.png
deleted file mode 100644
index a8f84c1..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preview.png.import
deleted file mode 100644
index 9e4ef59..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://x2ytkmtkn53s"
-path="res://.godot/imported/Preview.png-8f3c76ec034bcd9156b51bf3b67fca71.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/battle/Battle4/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-8f3c76ec034bcd9156b51bf3b67fca71.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/Battle4/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/RoomInfo.json
deleted file mode 100644
index a698207..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-16,"Y":-15},"Size":{"X":26,"Y":31},"DoorAreaInfos":[{"Direction":0,"Start":128,"End":272},{"Direction":2,"Start":144,"End":304},{"Direction":1,"Start":208,"End":368},{"Direction":3,"Start":80,"End":192}],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle4","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/TileInfo.json
deleted file mode 100644
index 859f5fd..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle4/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-152,-216,-56,-216,-56,-88,136,-88,136,48,104,48,104,208,56,208,56,240,-88,240,-88,192,-136,192,-136,144,-232,144,-232,-8,-120,-8,-120,-48,-152,-48]},{"Type":1,"Points":[-24,-16,24,-16,24,88,8,88,8,104,-8,104,-8,120,-88,120,-88,32,-40,32,-40,48,-24,48]}],"Floor":[-2,-2,0,0,8,-1,-2,0,0,8,0,-2,0,0,8,1,-2,0,0,8,2,-2,0,0,8,3,-2,0,0,8,4,-2,0,0,8,5,-2,0,0,8,6,-2,0,0,8,7,-2,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,-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,-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,-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,-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,-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,-2,-6,0,0,8,-2,-5,0,0,8,-2,-4,0,0,8,-2,-3,0,0,8,-2,-1,0,0,8,-2,0,0,0,8,-2,1,0,0,8,-2,2,0,0,8,-1,-6,0,0,8,-1,-5,0,0,8,-1,-4,0,0,8,-1,-3,0,0,8,0,-6,0,0,8,0,-5,0,0,8,0,-4,0,0,8,0,-3,0,0,8,1,-6,0,0,8,1,-5,0,0,8,1,-4,0,0,8,1,-3,0,0,8,1,-1,0,0,8,1,0,0,0,8,1,1,0,0,8,1,2,0,0,8,2,-6,0,0,8,2,-5,0,0,8,2,-4,0,0,8,2,-3,0,0,8,2,-1,0,0,8,2,0,0,0,8,2,1,0,0,8,2,2,0,0,8,3,-6,0,0,8,3,-5,0,0,8,3,-4,0,0,8,3,-3,0,0,8,3,-1,0,0,8,3,0,0,0,8,3,1,0,0,8,3,2,0,0,8,4,-6,0,0,8,4,-5,0,0,8,4,-4,0,0,8,4,-3,0,0,8,4,-1,0,0,8,4,0,0,0,8,4,1,0,0,8,4,2,0,0,8,5,-6,0,0,8,5,-5,0,0,8,5,-4,0,0,8,5,-3,0,0,8,5,-1,0,0,8,5,0,0,0,8,5,1,0,0,8,5,2,0,0,8,6,-6,0,0,8,6,-5,0,0,8,6,-4,0,0,8,6,-3,0,0,8,6,-1,0,0,8,6,0,0,0,8,6,1,0,0,8,6,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,-1,0,0,8,7,0,0,0,8,7,1,0,0,8,7,2,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,0,5,0,0,8,0,6,0,0,8,0,7,0,0,8,0,8,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,1,8,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,2,8,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,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,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,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,-10,-14,0,0,8,-10,-13,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,-4,0,0,8,-9,-14,0,0,8,-9,-13,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,-8,-14,0,0,8,-8,-13,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,-7,-14,0,0,8,-7,-13,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,-6,-14,0,0,8,-6,-13,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,-5,-14,0,0,8,-5,-13,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,-4,-14,0,0,8,-4,-13,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,-15,-1,0,0,8,-15,0,0,0,8,-15,1,0,0,8,-15,2,0,0,8,-15,3,0,0,8,-15,4,0,0,8,-15,5,0,0,8,-15,6,0,0,8,-15,7,0,0,8,-15,8,0,0,8,-14,-1,0,0,8,-14,0,0,0,8,-14,1,0,0,8,-14,2,0,0,8,-14,3,0,0,8,-14,4,0,0,8,-14,5,0,0,8,-14,6,0,0,8,-14,7,0,0,8,-14,8,0,0,8,-13,-1,0,0,8,-13,0,0,0,8,-13,1,0,0,8,-13,2,0,0,8,-13,3,0,0,8,-13,4,0,0,8,-13,5,0,0,8,-13,6,0,0,8,-13,7,0,0,8,-13,8,0,0,8,-12,-1,0,0,8,-12,0,0,0,8,-12,1,0,0,8,-12,2,0,0,8,-12,3,0,0,8,-12,4,0,0,8,-12,5,0,0,8,-12,6,0,0,8,-12,7,0,0,8,-12,8,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,-11,8,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,-10,8,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,-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,-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,-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,-5,7,0,0,8,-5,8,0,0,8,-4,7,0,0,8,-4,8,0,0,8,-4,9,0,0,8,-4,10,0,0,8,-4,11,0,0,8,-4,12,0,0,8,-3,7,0,0,8,-3,8,0,0,8,-3,9,0,0,8,-3,10,0,0,8,-3,11,0,0,8,-3,12,0,0,8,-2,7,0,0,8,-2,8,0,0,8,-2,9,0,0,8,-2,10,0,0,8,-2,11,0,0,8,-2,12,0,0,8,-1,6,0,0,8,-1,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,12,0,0,8,0,9,0,0,8,0,10,0,0,8,0,11,0,0,8,0,12,0,0,8,1,9,0,0,8,1,10,0,0,8,1,11,0,0,8,1,12,0,0,8,2,9,0,0,8,2,10,0,0,8,2,11,0,0,8,2,12,0,0,8,-6,9,0,0,8,-6,10,0,0,8,-6,11,0,0,8,-6,12,0,0,8,-6,13,0,0,8,-6,14,0,0,8,-5,9,0,0,8,-5,10,0,0,8,-5,11,0,0,8,-5,12,0,0,8,-5,13,0,0,8,-5,14,0,0,8,-4,13,0,0,8,-4,14,0,0,8,-9,9,0,0,8,-9,10,0,0,8,-9,11,0,0,8,-8,9,0,0,8,-8,10,0,0,8,-8,11,0,0,8,-7,9,0,0,8,-7,10,0,0,8,-7,11,0,0,8,3,9,0,0,8,3,10,0,0,8,3,11,0,0,8,3,12,0,0,8,4,9,0,0,8,4,10,0,0,8,4,11,0,0,8,4,12,0,0,8,5,9,0,0,8,5,10,0,0,8,5,11,0,0,8,5,12,0,0,8,6,9,0,0,8,6,10,0,0,8,6,11,0,0,8,6,12,0,0,8,-3,13,0,0,8,-3,14,0,0,8,-2,13,0,0,8,-2,14,0,0,8,-1,13,0,0,8,-1,14,0,0,8,0,13,0,0,8,0,14,0,0,8,1,13,0,0,8,1,14,0,0,8,2,13,0,0,8,2,14,0,0,8,3,13,0,0,8,3,14,0,0,8,-3,2,0,0,8],"Middle":[-15,-2,0,2,7,-14,-2,0,2,7,-13,-2,0,2,7,-12,-2,0,2,7,-11,-2,0,2,7,-10,-15,0,2,7,-10,-2,0,2,7,-9,-15,0,2,7,-9,-2,0,3,7,-8,-15,0,2,7,-7,-15,0,2,7,-6,-15,0,2,7,-5,-15,0,2,7,-5,6,0,1,7,-4,-15,0,2,7,-4,6,0,2,7,-3,-7,0,1,7,-3,6,0,2,7,-2,-7,0,2,7,-2,6,0,3,7,-1,-7,0,2,7,-1,5,0,3,7,0,-7,0,2,7,0,4,0,3,7,1,-7,0,2,7,2,-7,0,2,7,3,-7,0,2,7,4,-7,0,2,7,5,-7,0,2,7,6,-7,0,2,7,7,-7,0,2,7,8,-7,0,2,7],"Top":[-16,-2,0,3,4,-16,-1,0,3,3,-16,0,0,3,3,-16,1,0,3,3,-16,2,0,3,3,-16,3,0,3,3,-16,4,0,3,3,-16,5,0,3,3,-16,6,0,3,3,-16,7,0,3,3,-16,8,0,3,3,-16,9,0,11,2,-15,9,0,2,2,-14,9,0,2,2,-13,9,0,2,2,-12,9,0,2,2,-11,-15,0,3,4,-11,-14,0,3,3,-11,-13,0,3,3,-11,-12,0,3,3,-11,-11,0,3,3,-11,-10,0,3,3,-11,-9,0,3,3,-11,-8,0,3,3,-11,-7,0,3,3,-11,-6,0,3,3,-11,-5,0,3,3,-11,-4,0,3,3,-11,-3,0,11,2,-11,9,0,2,2,-10,-3,0,2,2,-10,9,0,3,2,-10,10,0,3,3,-10,11,0,3,3,-10,12,0,11,2,-9,-3,0,3,2,-9,12,0,2,2,-8,12,0,2,2,-7,12,0,3,2,-7,13,0,3,3,-7,14,0,3,3,-7,15,0,11,2,-6,15,0,2,2,-5,2,0,1,2,-5,3,0,1,3,-5,4,0,1,3,-5,5,0,1,3,-5,15,0,2,2,-4,2,0,3,2,-4,3,0,11,2,-4,15,0,2,2,-3,-15,0,1,4,-3,-14,0,1,3,-3,-13,0,1,3,-3,-12,0,1,3,-3,-11,0,1,3,-3,-10,0,1,3,-3,-9,0,1,3,-3,-8,0,1,3,-3,3,0,2,2,-3,15,0,2,2,-2,3,0,2,2,-2,5,0,3,4,-2,15,0,2,2,-1,-1,0,1,2,-1,0,0,1,3,-1,1,0,1,3,-1,2,0,1,3,-1,3,0,13,2,-1,4,0,3,4,-1,15,0,2,2,0,-1,0,3,2,0,0,0,3,3,0,1,0,3,3,0,2,0,3,3,0,3,0,3,3,0,15,0,2,2,1,15,0,2,2,2,15,0,2,2,3,15,0,2,2,4,13,0,1,2,4,14,0,1,3,4,15,0,13,2,5,13,0,2,2,6,13,0,2,2,7,3,0,1,2,7,4,0,1,3,7,5,0,1,3,7,6,0,1,3,7,7,0,1,3,7,8,0,1,3,7,9,0,1,3,7,10,0,1,3,7,11,0,1,3,7,12,0,1,3,7,13,0,13,2,8,3,0,2,2,9,-7,0,1,4,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,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preinstall.json
deleted file mode 100644
index ddd7807..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":51,"Y":90},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0009","CurrAmmon":"1","ResidueAmmo":"5"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":11,"Y":228},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0002","CurrAmmon":"7","ResidueAmmo":"7"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":103,"Y":173},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0009","CurrAmmon":"1","ResidueAmmo":"5"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":66,"Y":-4},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":-1,"Y":119},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":185,"Y":110},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-44,"Y":-39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0008","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":116,"Y":229},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0008","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-73,"Y":226},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0009","CurrAmmon":"1","ResidueAmmo":"5"},"Altitude":0,"VerticalSpeed":0}]}],[{"Position":{"X":65,"Y":208},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":71,"Y":33},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":-65,"Y":102},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1.5,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0002","CurrAmmon":"7","ResidueAmmo":"7"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":119,"Y":115},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0002","CurrAmmon":"7","ResidueAmmo":"7"},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preview.png
deleted file mode 100644
index c9a72b9..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preview.png.import
deleted file mode 100644
index 41fdf86..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://w8enumbscx08"
-path="res://.godot/imported/Preview.png-57faf91d48bfaedc5b04c411842f9580.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/battle/Battle5/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-57faf91d48bfaedc5b04c411842f9580.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/Battle5/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/RoomInfo.json
deleted file mode 100644
index 1fba846..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-10,"Y":-8},"Size":{"X":28,"Y":30},"DoorAreaInfos":[{"Direction":3,"Start":0,"End":192},{"Direction":3,"Start":272,"End":400},{"Direction":0,"Start":128,"End":384},{"Direction":2,"Start":144,"End":336},{"Direction":1,"Start":288,"End":400},{"Direction":1,"Start":0,"End":160}],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle5","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/TileInfo.json
deleted file mode 100644
index be4573e..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle5/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-136,-104,40,-104,40,-40,136,-40,136,-104,248,-104,248,24,264,24,264,272,184,272,184,336,8,336,8,272,-40,272,-40,288,-136,288,-136,184,-88,184,-88,128,-120,128,-120,48,-136,48]},{"Type":1,"Points":[-40,16,24,16,24,72,-40,72]},{"Type":1,"Points":[104,16,168,16,168,72,104,72]},{"Type":1,"Points":[-24,144,40,144,40,200,-24,200]},{"Type":1,"Points":[136,160,200,160,200,216,136,216]}],"Floor":[-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,-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,-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,-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,-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,-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,-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,-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,-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,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,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,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,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,1,8,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,2,8,0,0,8,2,9,0,0,8,2,10,0,0,8,2,11,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,3,10,0,0,8,3,11,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,4,10,0,0,8,4,11,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,5,10,0,0,8,5,11,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,6,10,0,0,8,6,11,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,7,10,0,0,8,7,11,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,8,10,0,0,8,8,11,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,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,10,8,0,0,8,10,9,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,11,8,0,0,8,11,9,0,0,8,12,1,0,0,8,12,2,0,0,8,12,3,0,0,8,12,4,0,0,8,12,5,0,0,8,12,6,0,0,8,12,7,0,0,8,12,8,0,0,8,12,9,0,0,8,12,10,0,0,8,12,11,0,0,8,13,1,0,0,8,13,2,0,0,8,13,3,0,0,8,13,4,0,0,8,13,5,0,0,8,13,6,0,0,8,13,7,0,0,8,13,8,0,0,8,13,9,0,0,8,13,10,0,0,8,13,11,0,0,8,14,1,0,0,8,14,2,0,0,8,14,3,0,0,8,14,4,0,0,8,14,5,0,0,8,14,6,0,0,8,14,7,0,0,8,14,8,0,0,8,14,9,0,0,8,14,10,0,0,8,14,11,0,0,8,15,1,0,0,8,15,2,0,0,8,15,3,0,0,8,15,4,0,0,8,15,5,0,0,8,15,6,0,0,8,15,7,0,0,8,15,8,0,0,8,15,9,0,0,8,15,10,0,0,8,15,11,0,0,8,16,1,0,0,8,16,2,0,0,8,16,3,0,0,8,16,4,0,0,8,16,5,0,0,8,16,6,0,0,8,16,7,0,0,8,16,8,0,0,8,16,9,0,0,8,16,10,0,0,8,16,11,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,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,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,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,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,3,0,0,8,-3,4,0,0,8,-3,5,0,0,8,-3,6,0,0,8,-3,7,0,0,8,-2,4,0,0,8,-2,5,0,0,8,-2,6,0,0,8,-2,7,0,0,8,-1,4,0,0,8,-1,5,0,0,8,-1,6,0,0,8,-1,7,0,0,8,0,4,0,0,8,0,5,0,0,8,0,6,0,0,8,0,7,0,0,8,-6,8,0,0,8,-6,9,0,0,8,-6,10,0,0,8,-6,11,0,0,8,-6,12,0,0,8,-6,13,0,0,8,-5,8,0,0,8,-5,9,0,0,8,-5,10,0,0,8,-5,11,0,0,8,-5,12,0,0,8,-5,13,0,0,8,-4,8,0,0,8,-4,9,0,0,8,-4,10,0,0,8,-4,11,0,0,8,-4,12,0,0,8,-4,13,0,0,8,-3,8,0,0,8,-3,9,0,0,8,-3,10,0,0,8,-3,11,0,0,8,-3,12,0,0,8,-3,13,0,0,8,-2,8,0,0,8,-2,9,0,0,8,-2,10,0,0,8,-2,11,0,0,8,-2,12,0,0,8,-2,13,0,0,8,-2,14,0,0,8,-2,15,0,0,8,-2,16,0,0,8,-1,8,0,0,8,-1,12,0,0,8,-1,13,0,0,8,-1,14,0,0,8,-1,15,0,0,8,-1,16,0,0,8,0,8,0,0,8,0,12,0,0,8,0,13,0,0,8,0,14,0,0,8,0,15,0,0,8,0,16,0,0,8,1,12,0,0,8,1,13,0,0,8,1,14,0,0,8,1,15,0,0,8,1,16,0,0,8,0,17,0,0,8,0,18,0,0,8,0,19,0,0,8,0,20,0,0,8,1,17,0,0,8,1,18,0,0,8,1,19,0,0,8,1,20,0,0,8,2,12,0,0,8,2,13,0,0,8,2,14,0,0,8,2,15,0,0,8,2,16,0,0,8,2,17,0,0,8,2,18,0,0,8,2,19,0,0,8,2,20,0,0,8,3,12,0,0,8,3,13,0,0,8,3,14,0,0,8,3,15,0,0,8,3,16,0,0,8,3,17,0,0,8,3,18,0,0,8,3,19,0,0,8,3,20,0,0,8,4,12,0,0,8,4,13,0,0,8,4,14,0,0,8,4,15,0,0,8,4,16,0,0,8,4,17,0,0,8,4,18,0,0,8,4,19,0,0,8,4,20,0,0,8,5,12,0,0,8,5,13,0,0,8,5,14,0,0,8,5,15,0,0,8,5,16,0,0,8,5,17,0,0,8,5,18,0,0,8,5,19,0,0,8,5,20,0,0,8,6,12,0,0,8,6,13,0,0,8,6,14,0,0,8,6,15,0,0,8,6,16,0,0,8,6,17,0,0,8,6,18,0,0,8,6,19,0,0,8,6,20,0,0,8,7,12,0,0,8,7,13,0,0,8,7,14,0,0,8,7,15,0,0,8,7,16,0,0,8,7,17,0,0,8,7,18,0,0,8,7,19,0,0,8,7,20,0,0,8,8,12,0,0,8,8,13,0,0,8,8,14,0,0,8,8,15,0,0,8,8,16,0,0,8,8,17,0,0,8,8,18,0,0,8,8,19,0,0,8,8,20,0,0,8,9,13,0,0,8,9,14,0,0,8,9,15,0,0,8,9,16,0,0,8,9,17,0,0,8,9,18,0,0,8,9,19,0,0,8,9,20,0,0,8,10,13,0,0,8,10,14,0,0,8,10,15,0,0,8,10,16,0,0,8,10,17,0,0,8,10,18,0,0,8,10,19,0,0,8,10,20,0,0,8,11,13,0,0,8,11,14,0,0,8,11,15,0,0,8,11,16,0,0,8,11,17,0,0,8,11,18,0,0,8,11,19,0,0,8,11,20,0,0,8,3,-3,0,0,8,3,-2,0,0,8,3,-1,0,0,8,3,0,0,0,8,4,-3,0,0,8,4,-2,0,0,8,4,-1,0,0,8,4,0,0,0,8,5,-3,0,0,8,5,-2,0,0,8,5,-1,0,0,8,5,0,0,0,8,6,-3,0,0,8,6,-2,0,0,8,6,-1,0,0,8,6,0,0,0,8,7,-3,0,0,8,7,-2,0,0,8,7,-1,0,0,8,7,0,0,0,8,8,-3,0,0,8,8,-2,0,0,8,8,-1,0,0,8,8,0,0,0,8,9,-3,0,0,8,9,-2,0,0,8,9,-1,0,0,8,9,0,0,0,8,10,-2,0,0,8,10,-1,0,0,8,10,0,0,0,8,11,-2,0,0,8,11,-1,0,0,8,11,0,0,0,8,12,-2,0,0,8,12,-1,0,0,8,12,0,0,0,8,13,-2,0,0,8,13,-1,0,0,8,13,0,0,0,8,14,-2,0,0,8,14,-1,0,0,8,14,0,0,0,8,12,12,0,0,8,12,13,0,0,8,12,14,0,0,8,13,12,0,0,8,13,13,0,0,8,13,14,0,0,8,14,12,0,0,8,14,13,0,0,8,14,14,0,0,8,12,15,0,0,8,12,16,0,0,8,13,15,0,0,8,13,16,0,0,8,14,15,0,0,8,14,16,0,0,8,15,14,0,0,8,15,15,0,0,8,15,16,0,0,8,15,12,0,0,8,15,13,0,0,8,16,12,0,0,8,16,13,0,0,8,16,14,0,0,8,16,15,0,0,8,16,16,0,0,8,-9,11,0,0,8,-9,12,0,0,8,-9,13,0,0,8,-9,14,0,0,8,-9,15,0,0,8,-9,16,0,0,8,-9,17,0,0,8,-8,11,0,0,8,-8,12,0,0,8,-8,13,0,0,8,-8,14,0,0,8,-8,15,0,0,8,-8,16,0,0,8,-8,17,0,0,8,-7,11,0,0,8,-7,12,0,0,8,-7,13,0,0,8,-7,14,0,0,8,-7,15,0,0,8,-7,16,0,0,8,-7,17,0,0,8,-6,14,0,0,8,-6,15,0,0,8,-6,16,0,0,8,-6,17,0,0,8,-5,14,0,0,8,-5,15,0,0,8,-5,16,0,0,8,-5,17,0,0,8,-4,14,0,0,8,-4,15,0,0,8,-4,16,0,0,8,-4,17,0,0,8,-3,14,0,0,8,-3,15,0,0,8,-3,16,0,0,8,-3,17,0,0,8,8,-7,0,0,8,8,-6,0,0,8,8,-5,0,0,8,8,-4,0,0,8,9,-7,0,0,8,9,-6,0,0,8,9,-5,0,0,8,9,-4,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,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,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,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,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,15,-7,0,0,8,15,-6,0,0,8,15,-5,0,0,8,15,-4,0,0,8,15,-3,0,0,8,15,-2,0,0,8,15,-1,0,0,8,15,0,0,0,8],"Middle":[-9,-8,0,2,7,-9,10,0,2,7,-8,-8,0,2,7,-8,10,0,2,7,-7,-8,0,2,7,-7,10,0,3,7,-6,-8,0,2,7,-5,-8,0,2,7,-4,-8,0,2,7,-3,-8,0,2,7,-2,-8,0,2,7,-2,3,0,1,7,-1,-8,0,2,7,-1,3,0,2,7,-1,11,0,1,7,0,-8,0,2,7,0,3,0,3,7,0,11,0,2,7,1,-8,0,2,7,1,11,0,3,7,2,-8,0,2,7,3,-4,0,1,7,4,-4,0,2,7,5,-4,0,2,7,6,-4,0,2,7,7,-4,0,3,7,7,3,0,1,7,8,-8,0,2,7,8,3,0,2,7,9,-8,0,2,7,9,3,0,3,7,9,12,0,1,7,10,-8,0,2,7,10,12,0,2,7,11,-8,0,2,7,11,12,0,3,7,12,-8,0,2,7,13,-8,0,2,7,14,-8,0,2,7,15,-8,0,2,7,16,0,0,1,7],"Top":[-10,-8,0,3,4,-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,11,2,-10,10,0,3,4,-10,11,0,3,3,-10,12,0,3,3,-10,13,0,3,3,-10,14,0,3,3,-10,15,0,3,3,-10,16,0,3,3,-10,17,0,3,3,-10,18,0,11,2,-9,3,0,3,2,-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,-9,18,0,2,2,-8,8,0,2,2,-8,18,0,2,2,-7,8,0,3,2,-7,9,0,3,3,-7,18,0,2,2,-6,18,0,2,2,-5,18,0,2,2,-4,18,0,2,2,-3,18,0,2,2,-2,1,0,1,2,-2,2,0,1,3,-2,17,0,1,2,-2,18,0,13,2,-1,1,0,2,2,-1,9,0,1,2,-1,10,0,1,3,-1,17,0,3,2,-1,18,0,3,3,-1,19,0,3,3,-1,20,0,3,3,-1,21,0,11,2,0,1,0,3,2,0,2,0,3,3,0,9,0,2,2,0,21,0,2,2,1,9,0,3,2,1,10,0,3,3,1,21,0,2,2,2,21,0,2,2,3,-8,0,1,4,3,-7,0,1,3,3,-6,0,1,3,3,-5,0,1,3,3,21,0,2,2,4,21,0,2,2,5,21,0,2,2,6,21,0,2,2,7,-8,0,3,4,7,-7,0,3,3,7,-6,0,3,3,7,-5,0,3,3,7,1,0,1,2,7,2,0,1,3,7,21,0,2,2,8,1,0,2,2,8,21,0,2,2,9,1,0,3,2,9,2,0,3,3,9,10,0,1,2,9,11,0,1,3,9,21,0,2,2,10,10,0,2,2,10,21,0,2,2,11,10,0,3,2,11,11,0,3,3,11,21,0,2,2,12,17,0,1,2,12,18,0,1,3,12,19,0,1,3,12,20,0,1,3,12,21,0,13,2,13,17,0,2,2,14,17,0,2,2,15,17,0,2,2,16,-8,0,1,4,16,-7,0,1,3,16,-6,0,1,3,16,-5,0,1,3,16,-4,0,1,3,16,-3,0,1,3,16,-2,0,1,3,16,-1,0,1,3,16,17,0,2,2,17,0,0,1,4,17,1,0,1,3,17,2,0,1,3,17,3,0,1,3,17,4,0,1,3,17,5,0,1,3,17,6,0,1,3,17,7,0,1,3,17,8,0,1,3,17,9,0,1,3,17,10,0,1,3,17,11,0,1,3,17,12,0,1,3,17,13,0,1,3,17,14,0,1,3,17,15,0,1,3,17,16,0,1,3,17,17,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preinstall.json
deleted file mode 100644
index c483fbf..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":114,"Y":34},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0002","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":76,"Y":-35},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0008","CurrAmmon":"10","ResidueAmmo":"10"},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preview.png
deleted file mode 100644
index a396f2c..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preview.png.import
deleted file mode 100644
index 7d40ed3..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://7rcbxc5erlk2"
-path="res://.godot/imported/Preview.png-8acadee4f0f58814edc8b7c9c800f88c.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/battle/Battle6/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-8acadee4f0f58814edc8b7c9c800f88c.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/Battle6/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/RoomInfo.json
deleted file mode 100644
index 6126ee9..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-4,"Y":-6},"Size":{"X":23,"Y":18},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle6","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/TileInfo.json
deleted file mode 100644
index 8c5cd7b..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle6/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-40,-72,280,-72,280,176,-40,176]},{"Type":1,"Points":[168,-16,248,-16,248,40,216,40,216,104,168,104]},{"Type":1,"Points":[24,16,72,16,72,136,-8,136,-8,80,24,80]}],"Floor":[-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,-3,10,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,-2,8,0,0,8,-2,9,0,0,8,-2,10,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,6,0,0,8,-1,7,0,0,8,-1,8,0,0,8,-1,9,0,0,8,-1,10,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,4,0,0,8,0,8,0,0,8,0,9,0,0,8,0,10,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,8,0,0,8,1,9,0,0,8,1,10,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,8,0,0,8,2,9,0,0,8,2,10,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,8,0,0,8,3,9,0,0,8,3,10,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,4,10,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,5,10,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,6,10,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,7,10,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,8,10,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,9,10,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,10,8,0,0,8,10,9,0,0,8,10,10,0,0,8,11,-5,0,0,8,11,-4,0,0,8,11,-3,0,0,8,11,-2,0,0,8,11,6,0,0,8,11,7,0,0,8,11,8,0,0,8,11,9,0,0,8,11,10,0,0,8,12,-5,0,0,8,12,-4,0,0,8,12,-3,0,0,8,12,-2,0,0,8,12,6,0,0,8,12,7,0,0,8,12,8,0,0,8,12,9,0,0,8,12,10,0,0,8,13,-5,0,0,8,13,-4,0,0,8,13,-3,0,0,8,13,-2,0,0,8,13,2,0,0,8,13,3,0,0,8,13,4,0,0,8,13,5,0,0,8,13,6,0,0,8,13,7,0,0,8,13,8,0,0,8,13,9,0,0,8,13,10,0,0,8,14,-5,0,0,8,14,-4,0,0,8,14,-3,0,0,8,14,-2,0,0,8,14,2,0,0,8,14,3,0,0,8,14,4,0,0,8,14,5,0,0,8,14,6,0,0,8,14,7,0,0,8,14,8,0,0,8,14,9,0,0,8,14,10,0,0,8,15,-5,0,0,8,15,-4,0,0,8,15,-3,0,0,8,15,-2,0,0,8,15,-1,0,0,8,15,0,0,0,8,15,1,0,0,8,15,2,0,0,8,15,3,0,0,8,15,4,0,0,8,15,5,0,0,8,15,6,0,0,8,15,7,0,0,8,15,8,0,0,8,15,9,0,0,8,15,10,0,0,8,16,-5,0,0,8,16,-4,0,0,8,16,-3,0,0,8,16,-2,0,0,8,16,-1,0,0,8,16,0,0,0,8,16,1,0,0,8,16,2,0,0,8,16,3,0,0,8,16,4,0,0,8,16,5,0,0,8,16,6,0,0,8,16,7,0,0,8,16,8,0,0,8,16,9,0,0,8,16,10,0,0,8,17,-5,0,0,8,17,-4,0,0,8,17,-3,0,0,8,17,-2,0,0,8,17,-1,0,0,8,17,0,0,0,8,17,1,0,0,8,17,2,0,0,8,17,3,0,0,8,17,4,0,0,8,17,5,0,0,8,17,6,0,0,8,17,7,0,0,8,17,8,0,0,8,17,9,0,0,8,17,10,0,0,8,-1,5,0,0,8],"Middle":[-3,-6,0,2,7,-2,-6,0,2,7,-1,-6,0,2,7,0,-6,0,2,7,0,7,0,1,7,1,-6,0,2,7,1,7,0,2,7,2,-6,0,2,7,2,7,0,2,7,3,-6,0,2,7,3,7,0,3,7,4,-6,0,2,7,5,-6,0,2,7,6,-6,0,2,7,7,-6,0,2,7,8,-6,0,2,7,9,-6,0,2,7,10,-6,0,2,7,11,-6,0,2,7,11,5,0,1,7,12,-6,0,2,7,12,5,0,3,7,13,-6,0,2,7,13,1,0,2,7,14,-6,0,2,7,14,1,0,3,7,15,-6,0,2,7,16,-6,0,2,7,17,-6,0,2,7],"Top":[-4,-6,0,3,4,-4,-5,0,3,3,-4,-4,0,3,3,-4,-3,0,3,3,-4,-2,0,3,3,-4,-1,0,3,3,-4,0,0,3,3,-4,1,0,3,3,-4,2,0,3,3,-4,3,0,3,3,-4,4,0,3,3,-4,5,0,3,3,-4,6,0,3,3,-4,7,0,3,3,-4,8,0,3,3,-4,9,0,3,3,-4,10,0,3,3,-4,11,0,11,2,-3,11,0,2,2,-2,11,0,2,2,-1,11,0,2,2,0,5,0,1,2,0,6,0,1,3,0,11,0,2,2,1,5,0,2,2,1,11,0,2,2,2,1,0,1,2,2,2,0,1,3,2,3,0,1,3,2,4,0,1,3,2,5,0,13,2,2,11,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,3,3,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,-1,0,1,2,11,0,0,1,3,11,1,0,1,3,11,2,0,1,3,11,3,0,1,3,11,4,0,1,3,11,11,0,2,2,12,-1,0,2,2,12,1,0,3,4,12,2,0,3,3,12,3,0,3,3,12,4,0,3,3,12,11,0,2,2,13,-1,0,2,2,13,11,0,2,2,14,-1,0,3,2,14,0,0,3,3,14,11,0,2,2,15,11,0,2,2,16,11,0,2,2,17,11,0,2,2,18,-6,0,1,4,18,-5,0,1,3,18,-4,0,1,3,18,-3,0,1,3,18,-2,0,1,3,18,-1,0,1,3,18,0,0,1,3,18,1,0,1,3,18,2,0,1,3,18,3,0,1,3,18,4,0,1,3,18,5,0,1,3,18,6,0,1,3,18,7,0,1,3,18,8,0,1,3,18,9,0,1,3,18,10,0,1,3,18,11,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preinstall.json
deleted file mode 100644
index 87b9dd1..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":0,"Y":0},"Size":{"X":14,"Y":16},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":35,"Y":-27},"Size":{"X":30,"Y":12},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":8,"Y":32},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-50,"Y":7},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0004","Weight":100,"Attr":{"CurrAmmon":"180","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-63,"Y":-18},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-31,"Y":-16},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-54,"Y":33},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0006","Weight":100,"Attr":{"CurrAmmon":"20","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":2,"Y":-25},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-76,"Y":21},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0008","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-87,"Y":46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":34,"Y":-1},"Size":{"X":24,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0011","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":45,"Y":55},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0012","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-90,"Y":-26},"Size":{"X":13,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0013","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-91,"Y":-6},"Size":{"X":14,"Y":13},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0014","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-73,"Y":66},"Size":{"X":14,"Y":14},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]}],[{"Position":{"X":72,"Y":62},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":67,"Y":28},"Size":{"X":16,"Y":17},"SpecialMarkType":0,"DelayTime":0.5,"MarkList":[{"Id":"prop5000","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":67,"Y":-12},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1,"MarkList":[{"Id":"prop5001","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":36,"Y":25},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":1.5,"MarkList":[{"Id":"prop0002","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-24,"Y":8},"Size":{"X":18,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-20,"Y":34},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0},{"Id":"prop0006","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png
deleted file mode 100644
index e7bb706..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png.import
deleted file mode 100644
index 74d2d7c..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://dwr8eoslvwdu2"
-path="res://.godot/imported/Preview.png-d30d131cfacf4b4842b55e3203acdd42.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-d30d131cfacf4b4842b55e3203acdd42.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/inlet/Start1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/RoomInfo.json
deleted file mode 100644
index 6005b11..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-8,"Y":-4},"Size":{"X":15,"Y":10},"DoorAreaInfos":[{"Direction":3,"Start":0,"End":208},{"Direction":0,"Start":0,"End":128},{"Direction":2,"Start":128,"End":208},{"Direction":1,"Start":0,"End":128},{"Direction":2,"Start":0,"End":64}],"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/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/TileInfo.json
deleted file mode 100644
index 68ed08e..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-104,-40,88,-40,88,80,24,80,24,48,-56,48,-56,80,-104,80]}],"Floor":[-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,-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,-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,-2,0,0,8,5,-3,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,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,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,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,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,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,-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,-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,-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,-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],"Middle":[-7,-4,0,2,7,-6,-4,0,2,7,-5,-4,0,2,7,-4,-4,0,2,7,-3,-4,0,2,7,-2,-4,0,2,7,-1,-4,0,2,7,0,-4,0,2,7,1,-4,0,2,7,2,-4,0,2,7,3,-4,0,2,7,4,-4,0,2,7,5,-4,0,2,7],"Top":[-8,-4,0,3,4,-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,11,2,-7,5,0,2,2,-6,5,0,2,2,-5,5,0,2,2,-4,5,0,2,2,-3,3,0,1,2,-3,4,0,1,3,-3,5,0,13,2,-2,3,0,2,2,-1,3,0,2,2,0,3,0,3,2,0,4,0,3,3,0,5,0,11,2,1,5,0,2,2,2,5,0,2,2,3,5,0,2,2,4,5,0,2,2,5,5,0,2,2,6,-4,0,1,4,6,-3,0,1,3,6,-2,0,1,3,6,-1,0,1,3,6,0,0,1,3,6,1,0,1,3,6,2,0,1,3,6,3,0,1,3,6,4,0,1,3,6,5,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preinstall.json
deleted file mode 100644
index b2a4f57..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":0,"Y":0},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":16,"Y":26},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-16,"Y":25},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":37,"Y":-13},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-11,"Y":-12},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]}],[{"Position":{"X":10,"Y":-39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":2,"MarkList":[{"Id":"prop0003","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":-115,"Y":39},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0002","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preview.png
deleted file mode 100644
index 055d7fa..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preview.png.import
deleted file mode 100644
index 68d306b..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cr5tlhxfjetuf"
-path="res://.godot/imported/Preview.png-8fbf34b154290497f5a1f19b421f568c.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/inlet/Start2/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-8fbf34b154290497f5a1f19b421f568c.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/inlet/Start2/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/RoomInfo.json
deleted file mode 100644
index 0370957..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-11,"Y":-7},"Size":{"X":16,"Y":14},"DoorAreaInfos":[{"Direction":3,"Start":96,"End":224},{"Direction":0,"Start":0,"End":192},{"Direction":1,"Start":0,"End":192},{"Direction":2,"Start":0,"End":144}],"GroupName":"TestGroup1","RoomType":1,"RoomName":"Start2","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/TileInfo.json
deleted file mode 100644
index b37b37a..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start2/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-152,-88,-120,-88,-120,-24,-72,-24,-72,-40,-56,-40,-56,-88,56,-88,56,96,40,96,40,48,-8,48,-8,64,-24,64,-24,96,-152,96]}],"Floor":[-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,-2,-2,0,0,8,-2,-4,0,0,8,-2,-3,0,0,8,-2,-1,0,0,8,-2,0,0,0,8,-2,1,0,0,8,-2,2,0,0,8,-1,-1,0,0,8,-1,-4,0,0,8,-1,-3,0,0,8,-1,-2,0,0,8,-1,0,0,0,8,-1,1,0,0,8,-1,2,0,0,8,0,0,0,0,8,0,-4,0,0,8,0,-3,0,0,8,0,-2,0,0,8,0,-1,0,0,8,0,1,0,0,8,0,2,0,0,8,1,1,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,2,0,0,8,2,1,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,2,0,0,8,2,3,0,0,8,2,4,0,0,8,2,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,-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,-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,-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,-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,-9,-5,0,0,8,-9,-6,0,0,8,-8,-6,0,0,8,-8,-5,0,0,8,-7,-2,0,0,8,-6,-2,0,0,8,-5,-2,0,0,8,-7,-1,0,0,8,-6,-1,0,0,8,-5,-1,0,0,8,-7,0,0,0,8,-6,0,0,0,8,-5,0,0,0,8,-10,-6,0,0,8,-4,-5,0,0,8,-3,-5,0,0,8,-2,-5,0,0,8,-1,-5,0,0,8,0,-5,0,0,8,1,-5,0,0,8,2,-5,0,0,8,3,-5,0,0,8,3,-6,0,0,8,2,-6,0,0,8,1,-6,0,0,8,0,-6,0,0,8,-1,-6,0,0,8,-2,-6,0,0,8,-3,-6,0,0,8,-4,-6,0,0,8,-2,4,0,0,8,-2,3,0,0,8,-2,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,-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,-8,1,0,0,8,-8,2,0,0,8,-7,2,0,0,8,-7,3,0,0,8,-7,1,0,0,8,-7,4,0,0,8,-7,5,0,0,8,-8,5,0,0,8,-9,5,0,0,8,-9,4,0,0,8,-10,2,0,0,8,-10,3,0,0,8,-10,4,0,0,8,-10,5,0,0,8,-8,4,0,0,8,-8,3,0,0,8,-9,3,0,0,8,-9,2,0,0,8,-1,3,0,0,8,-5,-3,0,0,8],"Middle":[-10,-7,0,2,7,-9,-7,0,2,7,-8,-7,0,2,7,-7,-3,0,1,7,-6,-3,0,3,7,-5,-4,0,3,7,-4,-7,0,2,7,-3,-7,0,2,7,-2,-7,0,2,7,-1,-7,0,2,7,0,-7,0,2,7,1,-7,0,2,7,2,-7,0,2,7,3,-7,0,2,7],"Top":[-11,-7,0,3,4,-11,-6,0,3,3,-11,-5,0,3,3,-11,-4,0,3,3,-11,-3,0,3,3,-11,-2,0,3,3,-11,-1,0,3,3,-11,0,0,3,3,-11,1,0,3,3,-11,2,0,3,3,-11,3,0,3,3,-11,4,0,3,3,-11,5,0,3,3,-11,6,0,11,2,-10,6,0,2,2,-9,6,0,2,2,-8,6,0,2,2,-7,-7,0,1,4,-7,-6,0,1,3,-7,-5,0,1,3,-7,-4,0,1,3,-7,6,0,2,2,-6,-4,0,3,4,-6,6,0,2,2,-5,-7,0,3,4,-5,-6,0,3,3,-5,-5,0,3,3,-5,6,0,2,2,-4,6,0,2,2,-3,6,0,2,2,-2,6,0,2,2,-1,4,0,1,2,-1,5,0,1,3,-1,6,0,13,2,0,3,0,1,2,0,4,0,13,2,1,3,0,3,2,1,4,0,3,3,1,5,0,3,3,1,6,0,11,2,2,6,0,2,2,3,6,0,2,2,4,-7,0,1,4,4,-6,0,1,3,4,-5,0,1,3,4,-4,0,1,3,4,-3,0,1,3,4,-2,0,1,3,4,-1,0,1,3,4,0,0,1,3,4,1,0,1,3,4,2,0,1,3,4,3,0,1,3,4,4,0,1,3,4,5,0,1,3,4,6,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preinstall.json
deleted file mode 100644
index 876f2c4..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":-84,"Y":-46},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":-56,"Y":-72},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]}],[{"Position":{"X":33,"Y":65},"Size":{"X":29,"Y":28},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"-1","Weapon":null},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":25,"Y":-16},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0.8,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preview.png
deleted file mode 100644
index 6273480..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preview.png.import
deleted file mode 100644
index 59dce7f..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://hrny6himu2o8"
-path="res://.godot/imported/Preview.png-36e30cc056284bf63e359cca99f69e15.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/inlet/Start3/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-36e30cc056284bf63e359cca99f69e15.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/inlet/Start3/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/RoomInfo.json
deleted file mode 100644
index a5d10e3..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-8,"Y":-7},"Size":{"X":15,"Y":14},"DoorAreaInfos":[{"Direction":1,"Start":0,"End":96},{"Direction":2,"Start":0,"End":208},{"Direction":0,"Start":0,"End":192},{"Direction":3,"Start":0,"End":208}],"GroupName":"TestGroup1","RoomType":1,"RoomName":"Start3","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/TileInfo.json
deleted file mode 100644
index a354c37..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start3/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-104,-88,88,-88,88,96,-104,96]},{"Type":1,"Points":[-40,-64,8,-64,8,0,72,0,72,40,-88,40,-88,0,-40,0]}],"Floor":[-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,2,0,0,8,-7,3,0,0,8,-7,4,0,0,8,-7,5,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,2,0,0,8,-6,3,0,0,8,-6,4,0,0,8,-6,5,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,2,0,0,8,-5,3,0,0,8,-5,4,0,0,8,-5,5,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,2,0,0,8,-4,3,0,0,8,-4,4,0,0,8,-4,5,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,2,0,0,8,-3,3,0,0,8,-3,4,0,0,8,-3,5,0,0,8,-2,-6,0,0,8,-2,-5,0,0,8,-2,2,0,0,8,-2,3,0,0,8,-2,4,0,0,8,-2,5,0,0,8,-1,-6,0,0,8,-1,-5,0,0,8,-1,2,0,0,8,-1,3,0,0,8,-1,4,0,0,8,-1,5,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,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,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,2,0,0,8,2,3,0,0,8,2,4,0,0,8,2,5,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,2,0,0,8,3,3,0,0,8,3,4,0,0,8,3,5,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,2,0,0,8,4,3,0,0,8,4,4,0,0,8,4,5,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,4,0,0,0,8,4,1,0,0,8,-7,0,0,0,8,-7,1,0,0,8,-6,1,0,0,8,-6,0,0,0,8],"Middle":[-7,-7,0,2,7,-6,-7,0,2,7,-5,-7,0,2,7,-5,1,0,1,7,-4,-7,0,2,7,-4,1,0,2,7,-3,-7,0,2,7,-3,1,0,2,7,-2,-7,0,2,7,-2,1,0,2,7,-1,-7,0,2,7,-1,1,0,2,7,0,-7,0,2,7,0,1,0,2,7,1,-7,0,2,7,1,1,0,2,7,2,-7,0,2,7,2,1,0,2,7,3,-7,0,2,7,3,1,0,3,7,4,-7,0,2,7,5,-7,0,2,7],"Top":[-8,-7,0,3,4,-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,0,0,1,2,-5,6,0,2,2,-4,0,0,2,2,-4,6,0,2,2,-3,0,0,2,2,-3,6,0,2,2,-2,-4,0,1,2,-2,-3,0,1,3,-2,-2,0,1,3,-2,-1,0,1,3,-2,0,0,13,2,-2,6,0,2,2,-1,-4,0,3,2,-1,-3,0,3,3,-1,-2,0,3,3,-1,-1,0,3,3,-1,0,0,11,2,-1,6,0,2,2,0,0,0,2,2,0,6,0,2,2,1,0,0,2,2,1,6,0,2,2,2,0,0,2,2,2,6,0,2,2,3,0,0,3,2,3,6,0,2,2,4,6,0,2,2,5,6,0,2,2,6,-7,0,1,4,6,-6,0,1,3,6,-5,0,1,3,6,-4,0,1,3,6,-3,0,1,3,6,-2,0,1,3,6,-1,0,1,3,6,0,0,1,3,6,1,0,1,3,6,2,0,1,3,6,3,0,1,3,6,4,0,1,3,6,5,0,1,3,6,6,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preinstall.json
deleted file mode 100644
index a239003..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":43,"Y":26},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":43,"Y":49},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preview.png
deleted file mode 100644
index 9d9c52d..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preview.png.import
deleted file mode 100644
index 95f9d45..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cdwxp0hlmhbg3"
-path="res://.godot/imported/Preview.png-8e06125c0ecec4a197e22dd3de0e8fb1.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/inlet/Start4/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-8e06125c0ecec4a197e22dd3de0e8fb1.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/inlet/Start4/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/RoomInfo.json
deleted file mode 100644
index 0d902b3..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-3,"Y":-3},"Size":{"X":11,"Y":9},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":1,"RoomName":"Start4","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/TileInfo.json
deleted file mode 100644
index 77531b5..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start4/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-24,-24,104,-24,104,80,-24,80]}],"Floor":[-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,-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,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,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,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,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,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,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,-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":[-2,-3,0,2,7,-1,-3,0,2,7,0,-3,0,2,7,1,-3,0,2,7,2,-3,0,2,7,3,-3,0,2,7,4,-3,0,2,7,5,-3,0,2,7,6,-3,0,2,7],"Top":[-3,-3,0,3,4,-3,-2,0,3,3,-3,-1,0,3,3,-3,0,0,3,3,-3,1,0,3,3,-3,2,0,3,3,-3,3,0,3,3,-3,4,0,3,3,-3,5,0,11,2,-2,5,0,2,2,-1,5,0,2,2,0,5,0,2,2,1,5,0,2,2,2,5,0,2,2,3,5,0,2,2,4,5,0,2,2,5,5,0,2,2,6,5,0,2,2,7,-3,0,1,4,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,1,3,7,5,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preinstall.json
deleted file mode 100644
index 8a3f2d3..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":160,"Y":-164},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]}],[{"Position":{"X":160,"Y":-140},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0003","Weight":100,"Attr":{"CurrAmmon":"12","ResidueAmmo":"90"},"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png
deleted file mode 100644
index d0b030f..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png.import
deleted file mode 100644
index 35b9abb..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://dfknx1exbrlr3"
-path="res://.godot/imported/Preview.png-4ef7f48fbf1f8cdd60e24618c73a0558.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/inlet/Start5/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-4ef7f48fbf1f8cdd60e24618c73a0558.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/inlet/Start5/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/RoomInfo.json
deleted file mode 100644
index d9a8221..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":3,"Y":-16},"Size":{"X":14,"Y":12},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":1,"RoomName":"Start5","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/TileInfo.json
deleted file mode 100644
index 6f28ca3..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start5/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[72,-232,248,-232,248,-80,72,-80]}],"Floor":[4,-15,0,0,8,4,-14,0,0,8,4,-13,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,5,-15,0,0,8,5,-14,0,0,8,5,-13,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,6,-15,0,0,8,6,-14,0,0,8,6,-13,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,7,-15,0,0,8,7,-14,0,0,8,7,-13,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,8,-15,0,0,8,8,-14,0,0,8,8,-13,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,9,-15,0,0,8,9,-14,0,0,8,9,-13,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,10,-15,0,0,8,10,-14,0,0,8,10,-13,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,11,-15,0,0,8,11,-14,0,0,8,11,-13,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,12,-15,0,0,8,12,-14,0,0,8,12,-13,0,0,8,12,-12,0,0,8,12,-11,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,13,-15,0,0,8,13,-14,0,0,8,13,-13,0,0,8,13,-12,0,0,8,13,-11,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,14,-15,0,0,8,14,-14,0,0,8,14,-13,0,0,8,14,-12,0,0,8,14,-11,0,0,8,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,15,-15,0,0,8,15,-14,0,0,8,15,-13,0,0,8,15,-12,0,0,8,15,-11,0,0,8,15,-10,0,0,8,15,-9,0,0,8,15,-8,0,0,8,15,-7,0,0,8,15,-6,0,0,8],"Middle":[4,-16,0,2,7,5,-16,0,2,7,6,-16,0,2,7,7,-16,0,2,7,8,-16,0,2,7,9,-16,0,2,7,10,-16,0,2,7,11,-16,0,2,7,12,-16,0,2,7,13,-16,0,2,7,14,-16,0,2,7,15,-16,0,2,7],"Top":[3,-16,0,3,4,3,-15,0,3,3,3,-14,0,3,3,3,-13,0,3,3,3,-12,0,3,3,3,-11,0,3,3,3,-10,0,3,3,3,-9,0,3,3,3,-8,0,3,3,3,-7,0,3,3,3,-6,0,3,3,3,-5,0,11,2,4,-5,0,2,2,5,-5,0,2,2,6,-5,0,2,2,7,-5,0,2,2,8,-5,0,2,2,9,-5,0,2,2,10,-5,0,2,2,11,-5,0,2,2,12,-5,0,2,2,13,-5,0,2,2,14,-5,0,2,2,15,-5,0,2,2,16,-16,0,1,4,16,-15,0,1,3,16,-14,0,1,3,16,-13,0,1,3,16,-12,0,1,3,16,-11,0,1,3,16,-10,0,1,3,16,-9,0,1,3,16,-8,0,1,3,16,-7,0,1,3,16,-6,0,1,3,16,-5,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preinstall.json
deleted file mode 100644
index d4d67e3..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":11,"Y":28},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0001","Weight":100,"Attr":{"CurrAmmon":"30","ResidueAmmo":"210"},"Altitude":8,"VerticalSpeed":0}]}]]},{"Name":"test2","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":-54,"Y":95},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0005","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"40"},"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png
deleted file mode 100644
index 81b14c4..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png.import
deleted file mode 100644
index d756672..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bi3cl40jqw1bq"
-path="res://.godot/imported/Preview.png-de99484c552e8633c08889ca0fe2fe8e.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-de99484c552e8633c08889ca0fe2fe8e.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/outlet/End1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/RoomInfo.json
deleted file mode 100644
index ba808d1..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-6,"Y":-4},"Size":{"X":15,"Y":12},"DoorAreaInfos":[],"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/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/TileInfo.json
deleted file mode 100644
index 148a844..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationList":[{"Type":0,"Points":[-72,-40,120,-40,120,112,-72,112]}],"Floor":[-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,-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,-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,-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,-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,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,0,6,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,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,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,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,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,-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,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],"Middle":[-5,-4,0,2,7,-4,-4,0,2,7,-3,-4,0,2,7,-2,-4,0,2,7,-1,-4,0,2,7,0,-4,0,2,7,1,-4,0,2,7,2,-4,0,2,7,3,-4,0,2,7,4,-4,0,2,7,5,-4,0,2,7,6,-4,0,2,7,7,-4,0,2,7],"Top":[-6,-4,0,3,4,-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,3,3,-6,6,0,3,3,-6,7,0,11,2,-5,7,0,2,2,-4,7,0,2,2,-3,7,0,2,2,-2,7,0,2,2,-1,7,0,2,2,0,7,0,2,2,1,7,0,2,2,2,7,0,2,2,3,7,0,2,2,4,7,0,2,2,5,7,0,2,2,6,7,0,2,2,7,7,0,2,2,8,-4,0,1,4,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,1,3,8,5,0,1,3,8,6,0,1,3,8,7,0,13,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preinstall.json
deleted file mode 100644
index 171a5ec..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":71,"Y":63},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":null},"Altitude":0,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preview.png
deleted file mode 100644
index ebb1434..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preview.png.import
deleted file mode 100644
index 0e1c680..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cf1kqsml1cl5i"
-path="res://.godot/imported/Preview.png-3ef522440049d103a5f16d9ca7538f66.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup2/battle/Battle1/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-3ef522440049d103a5f16d9ca7538f66.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/TestGroup2/battle/Battle1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/RoomInfo.json
deleted file mode 100644
index d046b67..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-2,"Y":-3},"Size":{"X":22,"Y":16},"DoorAreaInfos":[{"Direction":3,"Start":0,"End":160},{"Direction":0,"Start":0,"End":176},{"Direction":1,"Start":0,"End":176},{"Direction":2,"Start":0,"End":96},{"Direction":2,"Start":160,"End":288},{"Direction":3,"Start":224,"End":288}],"GroupName":"TestGroup2","RoomType":0,"RoomName":"Battle1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/TileInfo.json
deleted file mode 100644
index d2f5527..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/battle/Battle1/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationVertices":[{"X":230,"Y":54},{"X":230,"Y":6},{"X":282,"Y":6},{"X":282,"Y":178},{"X":166,"Y":178},{"X":166,"Y":130},{"X":154,"Y":54},{"X":90,"Y":130},{"X":90,"Y":178},{"X":6,"Y":178},{"X":6,"Y":6},{"X":154,"Y":6}],"NavigationPolygon":[[0,1,2,3],[0,3,4,5],[6,0,5,7],[7,8,9,10],[7,10,11,6]],"Floor":[0,0,0,0,4,0,1,0,0,4,0,2,0,0,4,1,0,0,0,4,1,1,0,0,4,1,2,0,0,4,2,0,0,0,4,2,1,0,0,4,2,2,0,0,4,3,0,0,0,4,3,1,0,0,4,3,2,0,0,4,0,3,0,0,4,1,3,0,0,4,2,3,0,0,4,3,3,0,0,4,4,0,0,0,4,5,0,0,0,4,6,0,0,0,4,7,0,0,0,4,8,0,0,0,4,9,0,0,0,4,9,1,0,0,4,9,2,0,0,4,9,3,0,0,4,9,4,0,0,4,8,4,0,0,4,7,4,0,0,4,6,4,0,0,4,0,4,0,0,4,0,5,0,0,4,0,6,0,0,4,0,7,0,0,4,1,4,0,0,4,1,5,0,0,4,1,6,0,0,4,1,7,0,0,4,2,4,0,0,4,2,5,0,0,4,2,6,0,0,4,2,7,0,0,4,3,4,0,0,4,3,5,0,0,4,3,6,0,0,4,3,7,0,0,4,4,1,0,0,4,4,2,0,0,4,4,3,0,0,4,4,4,0,0,4,4,5,0,0,4,4,6,0,0,4,4,7,0,0,4,5,1,0,0,4,5,2,0,0,4,5,3,0,0,4,5,4,0,0,4,5,5,0,0,4,5,6,0,0,4,5,7,0,0,4,6,1,0,0,4,6,2,0,0,4,6,3,0,0,4,6,5,0,0,4,6,6,0,0,4,6,7,0,0,4,7,1,0,0,4,7,2,0,0,4,7,3,0,0,4,7,5,0,0,4,7,6,0,0,4,7,7,0,0,4,8,1,0,0,4,8,2,0,0,4,8,3,0,0,4,8,5,0,0,4,8,6,0,0,4,8,7,0,0,4,9,5,0,0,4,9,6,0,0,4,9,7,0,0,4,10,3,0,0,4,10,4,0,0,4,10,5,0,0,4,10,6,0,0,4,10,7,0,0,4,10,8,0,0,4,10,9,0,0,4,10,10,0,0,4,11,3,0,0,4,11,4,0,0,4,11,5,0,0,4,11,6,0,0,4,11,7,0,0,4,11,8,0,0,4,11,9,0,0,4,11,10,0,0,4,12,3,0,0,4,12,4,0,0,4,12,5,0,0,4,12,6,0,0,4,12,7,0,0,4,12,8,0,0,4,12,9,0,0,4,12,10,0,0,4,13,3,0,0,4,13,4,0,0,4,13,5,0,0,4,13,6,0,0,4,13,7,0,0,4,13,8,0,0,4,13,9,0,0,4,13,10,0,0,4,14,0,0,0,4,14,1,0,0,4,14,2,0,0,4,14,3,0,0,4,14,4,0,0,4,14,5,0,0,4,14,6,0,0,4,14,7,0,0,4,14,8,0,0,4,14,9,0,0,4,14,10,0,0,4,15,0,0,0,4,15,1,0,0,4,15,2,0,0,4,15,3,0,0,4,15,4,0,0,4,15,5,0,0,4,15,6,0,0,4,15,7,0,0,4,15,8,0,0,4,15,9,0,0,4,15,10,0,0,4,16,0,0,0,4,16,1,0,0,4,16,2,0,0,4,16,3,0,0,4,16,4,0,0,4,16,5,0,0,4,16,6,0,0,4,16,7,0,0,4,16,8,0,0,4,16,9,0,0,4,16,10,0,0,4,17,0,0,0,4,17,1,0,0,4,17,2,0,0,4,17,3,0,0,4,17,4,0,0,4,17,5,0,0,4,17,6,0,0,4,17,7,0,0,4,17,8,0,0,4,17,9,0,0,4,17,10,0,0,4,0,8,0,0,4,0,9,0,0,4,0,10,0,0,4,1,8,0,0,4,1,9,0,0,4,1,10,0,0,4,2,8,0,0,4,2,9,0,0,4,2,10,0,0,4,3,8,0,0,4,3,9,0,0,4,3,10,0,0,4,4,8,0,0,4,4,9,0,0,4,4,10,0,0,4,5,8,0,0,4,5,9,0,0,4,5,10,0,0,4],"Middle":[0,-2,0,9,3,0,-1,0,2,4,1,-2,0,9,3,1,-1,0,2,4,2,-2,0,9,3,2,-1,0,2,4,3,-2,0,9,3,3,-1,0,2,4,4,-2,0,9,3,4,-1,0,2,4,5,-2,0,9,3,5,-1,0,2,4,6,-2,0,9,3,6,-1,0,2,4,7,-2,0,9,3,7,-1,0,2,4,8,-2,0,9,3,8,-1,0,2,4,9,-2,0,9,3,9,-1,0,2,4,10,1,0,8,3,10,2,0,1,4,11,1,0,9,3,11,2,0,2,4,12,1,0,9,3,12,2,0,2,4,13,1,0,11,3,13,2,0,3,4,14,-2,0,9,3,14,-1,0,2,4,15,-2,0,9,3,15,-1,0,2,4,16,-2,0,9,3,16,-1,0,2,4,17,-2,0,9,3,17,-1,0,2,4],"Top":[-2,-3,0,9,2,-2,-2,0,9,2,-2,-1,0,9,2,-2,0,0,9,2,-2,1,0,9,2,-2,2,0,9,2,-2,3,0,9,2,-2,4,0,9,2,-2,5,0,9,2,-2,6,0,9,2,-2,7,0,9,2,-2,8,0,9,2,-2,9,0,9,2,-2,10,0,9,2,-2,11,0,9,2,-2,12,0,9,2,-1,-3,0,9,2,-1,-2,0,6,2,-1,-1,0,11,2,-1,0,0,11,2,-1,1,0,11,2,-1,2,0,11,2,-1,3,0,11,2,-1,4,0,11,2,-1,5,0,11,2,-1,6,0,11,2,-1,7,0,11,2,-1,8,0,11,2,-1,9,0,11,2,-1,10,0,11,2,-1,11,0,6,1,-1,12,0,9,2,0,-3,0,9,2,0,11,0,10,0,0,12,0,9,2,1,-3,0,9,2,1,11,0,10,0,1,12,0,9,2,2,-3,0,9,2,2,11,0,10,0,2,12,0,9,2,3,-3,0,9,2,3,11,0,10,0,3,12,0,9,2,4,-3,0,9,2,4,11,0,10,0,4,12,0,9,2,5,-3,0,9,2,5,11,0,10,0,5,12,0,9,2,6,-3,0,9,2,6,8,0,8,0,6,9,0,8,1,6,10,0,8,1,6,11,0,5,1,6,12,0,9,2,7,-3,0,9,2,7,8,0,10,0,7,9,0,9,2,7,10,0,9,2,7,11,0,9,2,7,12,0,9,2,8,-3,0,9,2,8,8,0,10,0,8,9,0,9,2,8,10,0,9,2,8,11,0,9,2,8,12,0,9,2,9,-3,0,9,2,9,8,0,11,0,9,9,0,11,2,9,10,0,11,2,9,11,0,6,1,9,12,0,9,2,10,-3,0,9,2,10,-2,0,5,2,10,-1,0,8,1,10,0,0,8,1,10,11,0,10,0,10,12,0,9,2,11,-3,0,9,2,11,-2,0,9,2,11,-1,0,9,2,11,0,0,9,2,11,11,0,10,0,11,12,0,9,2,12,-3,0,9,2,12,-2,0,9,2,12,-1,0,9,2,12,0,0,9,2,12,11,0,10,0,12,12,0,9,2,13,-3,0,9,2,13,-2,0,6,2,13,-1,0,11,2,13,0,0,11,2,13,11,0,10,0,13,12,0,9,2,14,-3,0,9,2,14,11,0,10,0,14,12,0,9,2,15,-3,0,9,2,15,11,0,10,0,15,12,0,9,2,16,-3,0,9,2,16,11,0,10,0,16,12,0,9,2,17,-3,0,9,2,17,11,0,10,0,17,12,0,9,2,18,-3,0,9,2,18,-2,0,5,2,18,-1,0,8,1,18,0,0,8,1,18,1,0,8,1,18,2,0,8,1,18,3,0,8,1,18,4,0,8,1,18,5,0,8,1,18,6,0,8,1,18,7,0,8,1,18,8,0,8,1,18,9,0,8,1,18,10,0,8,1,18,11,0,5,1,18,12,0,9,2,19,-3,0,9,2,19,-2,0,9,2,19,-1,0,9,2,19,0,0,9,2,19,1,0,9,2,19,2,0,9,2,19,3,0,9,2,19,4,0,9,2,19,5,0,9,2,19,6,0,9,2,19,7,0,9,2,19,8,0,9,2,19,9,0,9,2,19,10,0,9,2,19,11,0,9,2,19,12,0,9,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preinstall.json
deleted file mode 100644
index 6833311..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":29,"Y":13},"Size":{"X":21,"Y":14},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":33,"Y":33},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0002","Weight":100,"Attr":{"CurrAmmon":"7","ResidueAmmo":"70"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":58,"Y":29},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":28,"Y":56},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0007","Weight":100,"Attr":{"CurrAmmon":"60","ResidueAmmo":"300"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":53,"Y":57},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0008","Weight":100,"Attr":{"CurrAmmon":"10","ResidueAmmo":"120"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":79,"Y":46},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"weapon0009","Weight":100,"Attr":{"CurrAmmon":"1","ResidueAmmo":"25"},"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":74,"Y":27},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0010","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":62,"Y":7},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0011","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]},{"Position":{"X":90,"Y":7},"Size":{"X":16,"Y":16},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"prop0011","Weight":100,"Attr":null,"Altitude":8,"VerticalSpeed":0}]}]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png
deleted file mode 100644
index ba46568..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png.import
deleted file mode 100644
index 27efd0e..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://cjxxh0x4pi25b"
-path="res://.godot/imported/Preview.png-35f18254ad0a5399ae1abd4e5c3653da.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-35f18254ad0a5399ae1abd4e5c3653da.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/TestGroup2/inlet/Start1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json
deleted file mode 100644
index d6c7944..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-2,"Y":-4},"Size":{"X":14,"Y":11},"DoorAreaInfos":[],"GroupName":"TestGroup2","RoomType":1,"RoomName":"Start1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json
deleted file mode 100644
index c5f9272..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationVertices":[{"X":154,"Y":-10},{"X":154,"Y":82},{"X":134,"Y":54},{"X":134,"Y":18},{"X":6,"Y":82},{"X":106,"Y":54},{"X":6,"Y":-10},{"X":106,"Y":18}],"NavigationPolygon":[[0,1,2,3],[2,1,4,5],[6,0,3,7],[5,4,6,7]],"Floor":[0,0,0,0,4,1,0,0,0,4,2,0,0,0,4,2,1,0,0,4,1,1,0,0,4,0,1,0,0,4,0,2,0,0,4,1,2,0,0,4,2,2,0,0,4,3,0,0,0,4,3,1,0,0,4,3,2,0,0,4,4,0,0,0,4,4,1,0,0,4,5,0,0,0,4,5,1,0,0,4,5,2,0,0,4,5,3,0,0,4,4,2,0,0,4,4,3,0,0,4,3,3,0,0,4,2,3,0,0,4,1,3,0,0,4,0,3,0,0,4,0,4,0,0,4,1,4,0,0,4,2,4,0,0,4,3,4,0,0,4,4,4,0,0,4,5,4,0,0,4,7,0,0,0,4,6,0,0,0,4,6,1,0,0,4,6,2,0,0,4,7,3,0,0,4,6,3,0,0,4,6,4,0,0,4,7,4,0,0,4,0,-1,0,0,4,1,-1,0,0,4,2,-1,0,0,4,3,-1,0,0,4,4,-1,0,0,4,5,-1,0,0,4,6,-1,0,0,4,7,-1,0,0,4,8,-1,0,0,4,9,-1,0,0,4,9,0,0,0,4,9,1,0,0,4,9,2,0,0,4,9,3,0,0,4,9,4,0,0,4,8,4,0,0,4,8,3,0,0,4,8,2,0,0,4,8,1,0,0,4,8,0,0,0,4],"Middle":[0,-3,0,9,3,0,-2,0,2,4,1,-3,0,9,3,1,-2,0,2,4,2,-3,0,9,3,2,-2,0,2,4,3,-3,0,9,3,3,-2,0,2,4,4,-3,0,9,3,4,-2,0,2,4,5,-3,0,9,3,5,-2,0,2,4,6,-3,0,9,3,6,-2,0,2,4,7,-3,0,9,3,7,-2,0,2,4,7,1,0,0,3,7,2,0,4,4,8,-3,0,9,3,8,-2,0,2,4,9,-3,0,9,3,9,-2,0,2,4],"Top":[-2,-4,0,9,2,-2,-3,0,9,2,-2,-2,0,9,2,-2,-1,0,9,2,-2,0,0,9,2,-2,1,0,9,2,-2,2,0,9,2,-2,3,0,9,2,-2,4,0,9,2,-2,5,0,9,2,-2,6,0,9,2,-1,-4,0,9,2,-1,-3,0,6,2,-1,-2,0,11,2,-1,-1,0,11,2,-1,0,0,11,2,-1,1,0,11,2,-1,2,0,11,2,-1,3,0,11,2,-1,4,0,11,2,-1,5,0,6,1,-1,6,0,9,2,0,-4,0,9,2,0,5,0,10,0,0,6,0,9,2,1,-4,0,9,2,1,5,0,10,0,1,6,0,9,2,2,-4,0,9,2,2,5,0,10,0,2,6,0,9,2,3,-4,0,9,2,3,5,0,10,0,3,6,0,9,2,4,-4,0,9,2,4,5,0,10,0,4,6,0,9,2,5,-4,0,9,2,5,5,0,10,0,5,6,0,9,2,6,-4,0,9,2,6,5,0,10,0,6,6,0,9,2,7,-4,0,9,2,7,5,0,10,0,7,6,0,9,2,8,-4,0,9,2,8,5,0,10,0,8,6,0,9,2,9,-4,0,9,2,9,5,0,10,0,9,6,0,9,2,10,-4,0,9,2,10,-3,0,5,2,10,-2,0,8,1,10,-1,0,8,1,10,0,0,8,1,10,1,0,8,1,10,2,0,8,1,10,3,0,8,1,10,4,0,8,1,10,5,0,5,1,10,6,0,9,2,11,-4,0,9,2,11,-3,0,9,2,11,-2,0,9,2,11,-1,0,9,2,11,0,0,9,2,11,1,0,9,2,11,2,0,9,2,11,3,0,9,2,11,4,0,9,2,11,5,0,9,2,11,6,0,9,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preinstall.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preinstall.json
deleted file mode 100644
index 638cd69..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preinstall.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"Name":"Preinstall1","Weight":100,"Remark":"","WaveList":[[]]}]
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preview.png
deleted file mode 100644
index 1e809b4..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preview.png
+++ /dev/null
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preview.png.import b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preview.png.import
deleted file mode 100644
index 2c5717b..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/Preview.png.import
+++ /dev/null
@@ -1,34 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://1qlrv4iw6tv4"
-path="res://.godot/imported/Preview.png-d8f775a7aa85742ef468e4c3e218196f.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://resource/map/tileMaps/TestGroup2/outlet/End1/Preview.png"
-dest_files=["res://.godot/imported/Preview.png-d8f775a7aa85742ef468e4c3e218196f.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/TestGroup2/outlet/End1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/RoomInfo.json
deleted file mode 100644
index 82afec1..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/RoomInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"Position":{"X":-2,"Y":-5},"Size":{"X":11,"Y":12},"DoorAreaInfos":[],"GroupName":"TestGroup2","RoomType":2,"RoomName":"End1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/TileInfo.json
deleted file mode 100644
index 5a046cc..0000000
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/outlet/End1/TileInfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"NavigationVertices":[{"X":106,"Y":-26},{"X":106,"Y":82},{"X":86,"Y":54},{"X":86,"Y":18},{"X":6,"Y":82},{"X":26,"Y":54},{"X":6,"Y":-26},{"X":26,"Y":2},{"X":54,"Y":2},{"X":54,"Y":18}],"NavigationPolygon":[[0,1,2,3],[2,1,4,5],[5,4,6,7],[7,6,0,8],[8,0,3,9]],"Floor":[0,0,0,0,4,0,-1,0,0,4,1,-2,0,0,4,2,-2,0,0,4,3,-2,0,0,4,4,-2,0,0,4,5,-2,0,0,4,6,-1,0,0,4,6,0,0,0,4,6,1,0,0,4,6,2,0,0,4,6,3,0,0,4,6,4,0,0,4,5,4,0,0,4,4,4,0,0,4,3,4,0,0,4,2,4,0,0,4,1,4,0,0,4,0,4,0,0,4,0,3,0,0,4,0,2,0,0,4,0,1,0,0,4,1,1,0,0,4,1,0,0,0,4,1,-1,0,0,4,2,-1,0,0,4,3,-1,0,0,4,4,-1,0,0,4,5,-1,0,0,4,5,0,0,0,4,5,2,0,0,4,5,3,0,0,4,4,3,0,0,4,3,3,0,0,4,2,3,0,0,4,1,3,0,0,4,1,2,0,0,4,4,0,0,0,4,3,0,0,0,4,5,1,0,0,4,0,-2,0,0,4,6,-2,0,0,4],"Middle":[0,-4,0,9,3,0,-3,0,2,4,1,-4,0,9,3,1,-3,0,2,4,2,-4,0,9,3,2,-3,0,2,4,2,1,0,1,2,2,2,0,1,4,3,-4,0,9,3,3,-3,0,2,4,3,1,0,2,3,3,2,0,2,4,4,-4,0,9,3,4,-3,0,2,4,4,1,0,3,3,4,2,0,3,4,5,-4,0,9,3,5,-3,0,2,4,6,-4,0,9,3,6,-3,0,2,4],"Top":[-2,-5,0,9,2,-2,-4,0,9,2,-2,-3,0,9,2,-2,-2,0,9,2,-2,-1,0,9,2,-2,0,0,9,2,-2,1,0,9,2,-2,2,0,9,2,-2,3,0,9,2,-2,4,0,9,2,-2,5,0,9,2,-2,6,0,9,2,-1,-5,0,9,2,-1,-4,0,6,2,-1,-3,0,11,2,-1,-2,0,11,2,-1,-1,0,11,2,-1,0,0,11,2,-1,1,0,11,2,-1,2,0,11,2,-1,3,0,11,2,-1,4,0,11,2,-1,5,0,6,1,-1,6,0,9,2,0,-5,0,9,2,0,5,0,10,0,0,6,0,9,2,1,-5,0,9,2,1,5,0,10,0,1,6,0,9,2,2,-5,0,9,2,2,0,0,0,0,2,5,0,10,0,2,6,0,9,2,3,-5,0,9,2,3,5,0,10,0,3,6,0,9,2,4,-5,0,9,2,4,5,0,10,0,4,6,0,9,2,5,-5,0,9,2,5,5,0,10,0,5,6,0,9,2,6,-5,0,9,2,6,5,0,10,0,6,6,0,9,2,7,-5,0,9,2,7,-4,0,5,2,7,-3,0,8,1,7,-2,0,8,1,7,-1,0,8,1,7,0,0,8,1,7,1,0,8,1,7,2,0,8,1,7,3,0,8,1,7,4,0,8,1,7,5,0,5,1,7,6,0,9,2,8,-5,0,9,2,8,-4,0,9,2,8,-3,0,9,2,8,-2,0,9,2,8,-1,0,9,2,8,0,0,9,2,8,1,0,9,2,8,2,0,9,2,8,3,0,9,2,8,4,0,9,2,8,5,0,9,2,8,6,0,9,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/TileCellData.cs b/DungeonShooting_Godot/src/framework/map/TileCellData.cs
index 10059b3..cbeed8d 100644
--- a/DungeonShooting_Godot/src/framework/map/TileCellData.cs
+++ b/DungeonShooting_Godot/src/framework/map/TileCellData.cs
@@ -6,11 +6,12 @@
///
public class TileCellData
{
- public TileCellData(int sourceId, Vector2I autoTileCoords, uint terrainPeering, int defaultLayer)
+ public TileCellData(int sourceId, Vector2I autoTileCoords, uint terrainPeering, byte terrainType, int defaultLayer)
{
SourceId = sourceId;
AutoTileCoords = autoTileCoords;
TerrainPeering = terrainPeering;
+ TerrainType = terrainType;
DefaultLayer = defaultLayer;
}
@@ -33,4 +34,9 @@
/// 默认存放层级
///
public int DefaultLayer;
+
+ ///
+ /// 地形类型
+ ///
+ public byte TerrainType;
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonRoomInfo.cs b/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonRoomInfo.cs
index 05e0dbe..a5a220f 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonRoomInfo.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonRoomInfo.cs
@@ -89,4 +89,11 @@
_completionDoorArea = null;
}
}
+
+ public void InitData()
+ {
+ Size = new SerializeVector2();
+ Position = new SerializeVector2();
+ DoorAreaInfos = new List();
+ }
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonTileInfo.cs b/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonTileInfo.cs
index 53508b7..4d05822 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonTileInfo.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/room/DungeonTileInfo.cs
@@ -18,20 +18,31 @@
public List NavigationPolygon;
///
- /// 底层数据, 五个一组, 分别为: 地图x坐标, 地图y坐标, 资源id, 图集x坐标, 图集y坐标
+ /// 底层数据, 四个一组, 分别是: 地图x坐标, 地图y坐标, Terrain 的 bit, Terrain 的 type
///
[JsonInclude]
public List Floor;
///
- /// 中层数据, 五个一组, 分别为: 地图x坐标, 地图y坐标, 资源id, 图集x坐标, 图集y坐标
+ /// 中层数据, 四个一组, 分别是: 地图x坐标, 地图y坐标, Terrain 的 bit, Terrain 的 type
///
[JsonInclude]
public List Middle;
///
- /// 顶层数据, 五个一组, 分别为: 地图x坐标, 地图y坐标, 资源id, 图集x坐标, 图集y坐标
+ /// 顶层数据, 四个一组, 分别是: 地图x坐标, 地图y坐标, Terrain 的 bit, Terrain 的 type
///
[JsonInclude]
public List Top;
+
+ //自定义层, 数据五个一组, 分别为: 地图x坐标, 地图y坐标, 资源id, 图集x坐标, 图集y坐标
+
+ public void InitData()
+ {
+ NavigationVertices = new List();
+ NavigationPolygon = new List();
+ Floor = new List();
+ Middle = new List();
+ Top = new List();
+ }
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetSplit.cs b/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetSplit.cs
index 62544f0..7ae9209 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetSplit.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetSplit.cs
@@ -240,7 +240,7 @@
private static void SetAtlasSourceYSortOrigin(TileSetTerrainInfo terrainInfo, TileSetAtlasSource tileSetAtlasSource, byte type, Vector2I bitCoords, int ySortOrigin)
{
var index = terrainInfo.TerrainCoordsToIndex(bitCoords, type);
- var cellData = terrainInfo.GetTerrainBit(index, type);
+ var cellData = terrainInfo.GetTerrainCell(index, type);
if (cellData != null)
{
var pos = terrainInfo.GetPosition(cellData);
@@ -255,7 +255,7 @@
private static void SetAtlasSourceCollision(TileSetTerrainInfo terrainInfo, TileSetAtlasSource tileSetAtlasSource, byte type, Vector2I bitCoords, bool isHalf)
{
var index = terrainInfo.TerrainCoordsToIndex(bitCoords, type);
- var cellData = terrainInfo.GetTerrainBit(index, type);
+ var cellData = terrainInfo.GetTerrainCell(index, type);
if (cellData != null)
{
var pos = terrainInfo.GetPosition(cellData);
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetTerrainInfo.cs b/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetTerrainInfo.cs
index 4134669..b7505c9 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetTerrainInfo.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/tileSet/TileSetTerrainInfo.cs
@@ -8,6 +8,10 @@
///
public class TileSetTerrainInfo : IClone
{
+ public const byte FloorLayerType = 3;
+ public const byte MiddleLayerType = 2;
+ public const byte TopLayerType = 1;
+
//type = 3
///
/// 地板 (1块) type = 3
@@ -31,41 +35,6 @@
F = new Dictionary();
}
- ///
- /// 返回这个TileSet地形是否可以正常使用了
- ///
- ///
- public bool CanUse()
- {
- return T != null && T.Count == 47 && M != null && M.Count == 4 && F != null && F.Count == 1;
- }
-
- ///
- /// 将存储的坐标数据转换成 Vector2I 对象, 返回的 Vector2I 单位: 格
- ///
- public Vector2I GetPosition(int[] ints)
- {
- return new Vector2I(ints[0] / GameConfig.TileCellSize, ints[1] / GameConfig.TileCellSize);
- }
-
- public int TerrainCoordsToIndex(Vector2I bitCoords, byte type)
- {
- if (type == 1)
- {
- return bitCoords.Y * GameConfig.TerrainBitSize1.X + bitCoords.X;
- }
- else if (type == 2)
- {
- return bitCoords.Y * GameConfig.TerrainBitSize2.X + bitCoords.X;
- }
- else if (type == 3)
- {
- return bitCoords.Y * GameConfig.TerrainBitSize3.X + bitCoords.X;
- }
-
- return -1;
- }
-
public TileSetTerrainInfo Clone()
{
var terrainInfo = new TileSetTerrainInfo();
@@ -86,62 +55,205 @@
}
///
- /// 将地形掩码存入 TileSetTerrainInfo 中
+ /// 返回这个TileSet地形是否可以正常使用了
///
- public void SetTerrainBit(int index, byte type, int[] cellData)
+ ///
+ public bool CanUse()
{
- if (type == 1) //顶部墙壁
+ return T != null && T.Count == 47 && M != null && M.Count == 4 && F != null && F.Count == 1;
+ }
+
+ ///
+ /// 将存储的坐标数据转换成 Vector2I 对象, 返回的 Vector2I 单位: 格
+ ///
+ public Vector2I GetPosition(int[] ints)
+ {
+ return new Vector2I(ints[0] / GameConfig.TileCellSize, ints[1] / GameConfig.TileCellSize);
+ }
+
+ ///
+ /// 将地形掩码中的坐标转换为索引。
+ ///
+ /// 地形坐标
+ /// 地形类型
+ public int TerrainCoordsToIndex(Vector2I bitCoords, byte type)
+ {
+ if (type == 1)
+ {
+ return bitCoords.Y * GameConfig.TerrainBitSize1.X + bitCoords.X;
+ }
+ else if (type == 2)
+ {
+ return bitCoords.Y * GameConfig.TerrainBitSize2.X + bitCoords.X;
+ }
+ else if (type == 3)
+ {
+ return bitCoords.Y * GameConfig.TerrainBitSize3.X + bitCoords.X;
+ }
+
+ return -1;
+ }
+
+ ///
+ /// 将地掩码值转换为索引值
+ ///
+ /// 地形掩码值
+ /// 地形类型
+ public int TerrainBitToIndex(uint bit, byte type)
+ {
+ if (type == TopLayerType) //顶部墙壁
+ {
+ switch (bit)
+ {
+ case TerrainPeering.Center | TerrainPeering.Bottom: return 0;
+ case TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 1;
+ case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 2;
+ case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom: return 3;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 4;
+ case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 5;
+ case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 6;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 7;
+ case TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 8;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 9;
+ case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 10;
+ case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 11;
+ case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Bottom: return 12;
+ case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 13;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 14;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom: return 15;
+ case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 16;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 17;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 18;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 19;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 20;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 21;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 23;
+ case TerrainPeering.Top | TerrainPeering.Center: return 24;
+ case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right: return 25;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right: return 26;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center: return 27;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 28;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 29;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 30;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom: return 31;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 32;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 33;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 34;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 35;
+ case TerrainPeering.Center: return 36;
+ case TerrainPeering.Center | TerrainPeering.Right: return 37;
+ case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right: return 38;
+ case TerrainPeering.Left | TerrainPeering.Center: return 39;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom: return 40;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right: return 41;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right: return 42;
+ case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom: return 43;
+ case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right: return 44;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right: return 45;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom: return 46;
+ case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center: return 47;
+ }
+ }
+ else if (type == MiddleLayerType)
+ {
+ if (bit < 4)
+ {
+ return (int)bit;
+ }
+ }
+ else if (type == FloorLayerType)
+ {
+ if (bit == 0)
+ {
+ return 0;
+ }
+ }
+
+ return -1;
+ }
+
+ ///
+ /// 根据给定的索引和类型计算地形掩码值。
+ ///
+ /// 用于确定地形掩码的索引。
+ /// 要计算地形位值的图层类型。
+ ///
+ public uint IndexToTerrainBit(int index, byte type)
+ {
+ if (type == TopLayerType) //顶部墙壁
{
switch (index)
{
- case 0: T[TerrainPeering.Center| TerrainPeering.Bottom] = cellData; break;
- case 1: T[TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 2: T[TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 3: T[TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Bottom] = cellData; break;
- case 4: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 5: T[TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 6: T[TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 7: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 8: T[TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 9: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 10: T[TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 11: T[TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 12: T[TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Bottom] = cellData; break;
- case 13: T[TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 14: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 15: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Bottom] = cellData; break;
- case 16: T[TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 17: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 18: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 19: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 20: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 21: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 22: break;
- case 23: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 24: T[TerrainPeering.Top| TerrainPeering.Center] = cellData; break;
- case 25: T[TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 26: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 27: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center] = cellData; break;
- case 28: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 29: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 30: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 31: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Bottom] = cellData; break;
- case 32: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 33: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 34: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 35: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 36: T[TerrainPeering.Center] = cellData; break;
- case 37: T[TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 38: T[TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 39: T[TerrainPeering.Left| TerrainPeering.Center] = cellData; break;
- case 40: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom] = cellData; break;
- case 41: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 42: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 43: T[TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom] = cellData; break;
- case 44: T[TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 45: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right] = cellData; break;
- case 46: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom] = cellData; break;
- case 47: T[TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center] = cellData; break;
+ case 0: return TerrainPeering.Center | TerrainPeering.Bottom;
+ case 1: return TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 2: return TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 3: return TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom;
+ case 4: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 5: return TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 6: return TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 7: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 8: return TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 9: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 10: return TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 11: return TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 12: return TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Bottom;
+ case 13: return TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 14: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 15: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom;
+ case 16: return TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 17: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 18: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 19: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 20: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom; case 21: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 23: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 24: return TerrainPeering.Top | TerrainPeering.Center;
+ case 25: return TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right;
+ case 26: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right;
+ case 27: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center;
+ case 28: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 29: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 30: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 31: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom;
+ case 32: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 33: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 34: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 35: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 36: return TerrainPeering.Center;
+ case 37: return TerrainPeering.Center | TerrainPeering.Right;
+ case 38: return TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right;
+ case 39: return TerrainPeering.Left | TerrainPeering.Center;
+ case 40: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom;
+ case 41: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right;
+ case 42: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right;
+ case 43: return TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom;
+ case 44: return TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right;
+ case 45: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right;
+ case 46: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom;
+ case 47: return TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center;
+ }
+ }
+ else if (type == MiddleLayerType)
+ {
+ if (index >= 0 && index < 4)
+ {
+ return (uint)index;
+ }
+ }
+
+ return TerrainPeering.None;
+ }
+
+ ///
+ /// 将地形掩码存入 TileSetTerrainInfo 中
+ ///
+ public void SetTerrainCell(int index, byte type, int[] cellData)
+ {
+ if (type == 1) //顶部墙壁
+ {
+ var terrainBit = IndexToTerrainBit(index, type);
+ if (terrainBit != TerrainPeering.None)
+ {
+ T[terrainBit] = cellData;
}
}
else if (type == 2) //侧方墙壁
@@ -163,60 +275,14 @@
///
/// 移除地形掩码
///
- public void RemoveTerrainBit(int index, byte type)
+ public void RemoveTerrainCell(int index, byte type)
{
if (type == 1) //顶部墙壁
{
- switch (index)
+ var terrainBit = IndexToTerrainBit(index, type);
+ if (terrainBit != TerrainPeering.None)
{
- case 0: T.Remove(TerrainPeering.Center| TerrainPeering.Bottom); break;
- case 1: T.Remove(TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 2: T.Remove(TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 3: T.Remove(TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Bottom); break;
- case 4: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 5: T.Remove(TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 6: T.Remove(TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 7: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 8: T.Remove(TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 9: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 10: T.Remove(TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 11: T.Remove(TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 12: T.Remove(TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Bottom); break;
- case 13: T.Remove(TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 14: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 15: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Bottom); break;
- case 16: T.Remove(TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 17: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 18: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 19: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 20: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 21: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 22: break;
- case 23: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 24: T.Remove(TerrainPeering.Top| TerrainPeering.Center); break;
- case 25: T.Remove(TerrainPeering.Top| TerrainPeering.Center| TerrainPeering.Right); break;
- case 26: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right); break;
- case 27: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center); break;
- case 28: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 29: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 30: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 31: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Bottom); break;
- case 32: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 33: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 34: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 35: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 36: T.Remove(TerrainPeering.Center); break;
- case 37: T.Remove(TerrainPeering.Center| TerrainPeering.Right); break;
- case 38: T.Remove(TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right); break;
- case 39: T.Remove(TerrainPeering.Left| TerrainPeering.Center); break;
- case 40: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.LeftBottom| TerrainPeering.Bottom); break;
- case 41: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right); break;
- case 42: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right); break;
- case 43: T.Remove(TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom| TerrainPeering.RightBottom); break;
- case 44: T.Remove(TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Center| TerrainPeering.Right); break;
- case 45: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right); break;
- case 46: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.RightTop| TerrainPeering.Left| TerrainPeering.Center| TerrainPeering.Right| TerrainPeering.Bottom); break;
- case 47: T.Remove(TerrainPeering.LeftTop| TerrainPeering.Top| TerrainPeering.Left| TerrainPeering.Center); break;
+ T.Remove(terrainBit);
}
}
else if (type == 2) //侧方墙壁
@@ -238,387 +304,17 @@
///
/// 获取指定索引的地形掩码存储的数据
///
- public int[] GetTerrainBit(int index, byte type)
+ public int[] GetTerrainCell(int index, byte type)
{
if (type == 1) //顶部墙壁
{
- switch (index)
+ var terrainBit = IndexToTerrainBit(index, type);
+ if (terrainBit != TerrainPeering.None)
{
- case 0:
+ if (T.TryGetValue(terrainBit, out var cellData))
{
- if (T.TryGetValue(TerrainPeering.Center | TerrainPeering.Bottom, out var cellData))
- return cellData;
+ return cellData;
}
- break;
- case 1:
- {
- if (T.TryGetValue(TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom,
- out var cellData))
- return cellData;
- }
- break;
- case 2:
- {
- if (T.TryGetValue(
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom,
- out var cellData))
- return cellData;
- }
- break;
- case 3:
- {
- if (T.TryGetValue(TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom,
- out var cellData))
- return cellData;
- }
- break;
- case 4:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 5:
- {
- if (T.TryGetValue(
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom |
- TerrainPeering.RightBottom, out var cellData))
- return cellData;
- }
- break;
- case 6:
- {
- if (T.TryGetValue(
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 7:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 8:
- {
- if (T.TryGetValue(
- TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom |
- TerrainPeering.RightBottom, out var cellData))
- return cellData;
- }
- break;
- case 9:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom,
- out var cellData))
- return cellData;
- }
- break;
- case 10:
- {
- if (T.TryGetValue(
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom,
- out var cellData))
- return cellData;
- }
- break;
- case 11:
- {
- if (T.TryGetValue(
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom |
- TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 12:
- {
- if (T.TryGetValue(TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Bottom,
- out var cellData))
- return cellData;
- }
- break;
- case 13:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom,
- out var cellData))
- return cellData;
- }
- break;
- case 14:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 15:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom,
- out var cellData))
- return cellData;
- }
- break;
- case 16:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom |
- TerrainPeering.RightBottom, out var cellData))
- return cellData;
- }
- break;
- case 17:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom |
- TerrainPeering.RightBottom, out var cellData))
- return cellData;
- }
- break;
- case 18:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom |
- TerrainPeering.RightBottom, out var cellData))
- return cellData;
- }
- break;
- case 19:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom, out var
- cellData))
- return cellData;
- }
- break;
- case 20:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom,
- out var cellData))
- return cellData;
- }
- break;
- case 21:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 22:
- break;
- case 23:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 24:
- {
- if (T.TryGetValue(TerrainPeering.Top | TerrainPeering.Center, out var cellData))
- return cellData;
- }
- break;
- case 25:
- {
- if (T.TryGetValue(TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right,
- out var cellData))
- return cellData;
- }
- break;
- case 26:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right,
- out var cellData))
- return cellData;
- }
- break;
- case 27:
- {
- if (T.TryGetValue(TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center,
- out var cellData))
- return cellData;
- }
- break;
- case 28:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 29:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop |
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom |
- TerrainPeering.RightBottom, out var cellData))
- return cellData;
- }
- break;
- case 30:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop |
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 31:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 32:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom,
- out var cellData))
- return cellData;
- }
- break;
- case 33:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop |
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom,
- out var cellData))
- return cellData;
- }
- break;
- case 34:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom,
- out var cellData))
- return cellData;
- }
- break;
- case 35:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 36:
- {
- if (T.TryGetValue(TerrainPeering.Center, out var cellData))
- return cellData;
- }
- break;
- case 37:
- {
- if (T.TryGetValue(TerrainPeering.Center | TerrainPeering.Right, out var cellData))
- return cellData;
- }
- break;
- case 38:
- {
- if (T.TryGetValue(TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right,
- out var cellData))
- return cellData;
- }
- break;
- case 39:
- {
- if (T.TryGetValue(TerrainPeering.Left | TerrainPeering.Center, out var cellData))
- return cellData;
- }
- break;
- case 40:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.LeftBottom | TerrainPeering.Bottom, out var cellData))
- return cellData;
- }
- break;
- case 41:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right, out var cellData))
- return cellData;
- }
- break;
- case 42:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
- TerrainPeering.Right, out var cellData))
- return cellData;
- }
- break;
- case 43:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
- TerrainPeering.Bottom | TerrainPeering.RightBottom, out var cellData))
- return cellData;
- }
- break;
- case 44:
- {
- if (T.TryGetValue(
- TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right,
- out var cellData))
- return cellData;
- }
- break;
- case 45:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop |
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right, out var cellData))
- return cellData;
- }
- break;
- case 46:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop |
- TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom,
- out var cellData))
- return cellData;
- }
- break;
- case 47:
- {
- if (T.TryGetValue(
- TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center,
- out var cellData))
- return cellData;
- }
- break;
}
}
else if (type == 2) //侧方墙壁
diff --git a/DungeonShooting_Godot/src/game/room/AutoTileConfig.cs b/DungeonShooting_Godot/src/game/room/AutoTileConfig.cs
index 7384ee3..844db17 100644
--- a/DungeonShooting_Godot/src/game/room/AutoTileConfig.cs
+++ b/DungeonShooting_Godot/src/game/room/AutoTileConfig.cs
@@ -8,7 +8,7 @@
///
public class AutoTileConfig
{
- public TileCellData Floor = new TileCellData(0, new Vector2I(0, 4), TerrainPeering.None, GameConfig.FloorMapLayer);
+ public TileCellData Floor;
public TileCellData TopMask;
public TileCellData Wall_Bottom;
public TileCellData Wall_Left;
@@ -23,10 +23,10 @@
public TileCellData Wall_In_RT;
public TileCellData Wall_In_RB;
- public TileCellData Wall_Vertical_Left = new TileCellData(0, new Vector2I(1, 4), TerrainPeering.None, GameConfig.MiddleMapLayer);
- public TileCellData Wall_Vertical_Center = new TileCellData(0, new Vector2I(2, 4), TerrainPeering.None, GameConfig.MiddleMapLayer);
- public TileCellData Wall_Vertical_Right = new TileCellData(0, new Vector2I(3, 4), TerrainPeering.None, GameConfig.MiddleMapLayer);
- public TileCellData Wall_Vertical_Single = new TileCellData(0, new Vector2I(4, 4), TerrainPeering.None, GameConfig.MiddleMapLayer);
+ public TileCellData Wall_Vertical_Left;
+ public TileCellData Wall_Vertical_Center;
+ public TileCellData Wall_Vertical_Right;
+ public TileCellData Wall_Vertical_Single;
//----------------------------- 所有自动图块数据 -----------------------------
//----------------------------- 命名规则: Auto_ + LT + T + RT + _ + L + C + R + _ + LB + B + RB
@@ -92,12 +92,21 @@
//-------------------------------------------------------------------------
+ ///
+ /// 所属资源Id
+ ///
+ public int SourceId { get; private set; }
+
+ ///
+ /// 原地形配置数据
+ ///
public TileSetTerrainInfo TerrainInfo { get; private set; }
private Dictionary _mapping = new Dictionary();
public AutoTileConfig(int sourceId, TileSetTerrainInfo terrainInfo)
{
+ SourceId = sourceId;
TerrainInfo = terrainInfo;
if (terrainInfo.T != null)
{
@@ -112,19 +121,19 @@
int[] data;
if (terrainInfo.M.TryGetValue(0, out data))
{
- Wall_Vertical_Single = new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, GameConfig.MiddleMapLayer);
+ Wall_Vertical_Single = new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, TileSetTerrainInfo.MiddleLayerType, GameConfig.MiddleMapLayer);
}
if (terrainInfo.M.TryGetValue(1, out data))
{
- Wall_Vertical_Left= new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, GameConfig.MiddleMapLayer);
+ Wall_Vertical_Left= new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, TileSetTerrainInfo.MiddleLayerType, GameConfig.MiddleMapLayer);
}
if (terrainInfo.M.TryGetValue(2, out data))
{
- Wall_Vertical_Center= new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, GameConfig.MiddleMapLayer);
+ Wall_Vertical_Center= new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, TileSetTerrainInfo.MiddleLayerType, GameConfig.MiddleMapLayer);
}
if (terrainInfo.M.TryGetValue(3, out data))
{
- Wall_Vertical_Right= new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, GameConfig.MiddleMapLayer);
+ Wall_Vertical_Right= new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, TileSetTerrainInfo.MiddleLayerType, GameConfig.MiddleMapLayer);
}
}
@@ -132,7 +141,7 @@
{
if (terrainInfo.F.TryGetValue(0, out var data))
{
- Floor = new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, GameConfig.FloorMapLayer);
+ Floor = new TileCellData(sourceId, terrainInfo.GetPosition(data), TerrainPeering.None, TileSetTerrainInfo.FloorLayerType, GameConfig.FloorMapLayer);
}
}
@@ -166,191 +175,197 @@
return GameConfig.FloorMapLayer;
}
+ public TileCellData GetCellData(Vector2I atlasCoords)
+ {
+ _mapping.TryGetValue(atlasCoords, out var tile);
+ return tile;
+ }
+
private void HandlerTileData(uint peeringValue, int sourceId, Vector2I pos)
{
switch (peeringValue)
{
//第一列
case TerrainPeering.Center | TerrainPeering.Bottom:
- Auto_000_010_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_010_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Bottom:
- Auto_010_010_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_010_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Center:
- Auto_010_010_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_010_010_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
case TerrainPeering.Center:
- Auto_000_010_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_000_010_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第二列
case TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom:
- Auto_000_011_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_011_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom:
- Auto_010_011_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_011_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right:
- Auto_010_011_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_010_011_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
case TerrainPeering.Center | TerrainPeering.Right:
- Auto_000_011_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_000_011_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第三列
case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom:
- Auto_000_111_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_111_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
TerrainPeering.Bottom:
- Auto_010_111_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_111_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right:
- Auto_010_111_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_010_111_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right:
- Auto_000_111_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_000_111_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第四列
case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom:
- Auto_000_110_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_110_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Bottom:
- Auto_010_110_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_110_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center:
- Auto_010_110_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_010_110_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
case TerrainPeering.Left | TerrainPeering.Center:
- Auto_000_110_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_000_110_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第五列
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.Bottom:
- Auto_110_111_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_110_111_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom |
TerrainPeering.RightBottom:
- Auto_010_011_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_011_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right |
TerrainPeering.Bottom:
- Auto_011_011_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_011_011_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
TerrainPeering.LeftBottom | TerrainPeering.Bottom:
- Auto_010_111_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_111_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
//第六列
case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom |
TerrainPeering.RightBottom:
- Auto_000_111_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_111_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_011_111_111 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_011_111_111 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left |
TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_111_111_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_111_111_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right:
- Auto_011_111_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_011_111_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第七列
case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom |
TerrainPeering.Bottom:
- Auto_000_111_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_111_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_110_111_111 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_110_111_111 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left |
TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom:
- Auto_111_111_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_111_111_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right:
- Auto_110_111_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_110_111_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第八列
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.Bottom:
- Auto_011_111_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_011_111_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom |
TerrainPeering.Bottom:
- Auto_010_110_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_110_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Bottom:
- Auto_110_110_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_110_110_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_010_111_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_111_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
//第九列
case TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_000_011_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_011_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right |
TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_011_011_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_011_011_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_011_111_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_011_111_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Center | TerrainPeering.Right:
- Auto_011_011_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_011_011_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第十列
case TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right |
TerrainPeering.LeftBottom | TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_010_111_111 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_010_111_111 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_110_111_011 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_110_111_011 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left |
TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom |
TerrainPeering.RightBottom:
- Auto_111_111_111 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_111_111_111 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left |
TerrainPeering.Center | TerrainPeering.Right:
- Auto_111_111_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_111_111_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
//第十一列
case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.LeftBottom |
TerrainPeering.Bottom | TerrainPeering.RightBottom:
- Auto_000_111_111 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_111_111 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom:
- Auto_011_111_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_011_111_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.RightTop | TerrainPeering.Left |
TerrainPeering.Center | TerrainPeering.Right | TerrainPeering.Bottom:
- Auto_111_111_010 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_111_111_010 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
//第十二列
case TerrainPeering.Left | TerrainPeering.Center | TerrainPeering.LeftBottom | TerrainPeering.Bottom:
- Auto_000_110_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_000_110_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.Right | TerrainPeering.LeftBottom | TerrainPeering.Bottom:
- Auto_110_111_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_110_111_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center |
TerrainPeering.LeftBottom | TerrainPeering.Bottom:
- Auto_110_110_110 = new TileCellData(sourceId, pos, peeringValue, GameConfig.TopMapLayer);
+ Auto_110_110_110 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.TopMapLayer);
break;
case TerrainPeering.LeftTop | TerrainPeering.Top | TerrainPeering.Left | TerrainPeering.Center:
- Auto_110_110_000 = new TileCellData(sourceId, pos, peeringValue, GameConfig.MiddleMapLayer);
+ Auto_110_110_000 = new TileCellData(sourceId, pos, peeringValue, TileSetTerrainInfo.TopLayerType, GameConfig.MiddleMapLayer);
break;
default:
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
index 3e868bc..02ef800 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
@@ -431,28 +431,37 @@
}
}
- //将指定层数据存入list中
- private void PushLayerDataToList(int layer, int sourceId, List list)
+ //将指定自动地形层数据存入list中
+ private void PushAutoLayerDataToList(int layer, int sourceId, List list)
{
var layerArray = GetUsedCellsById(layer, sourceId);
foreach (var pos in layerArray)
{
var atlasCoords = GetCellAtlasCoords(layer, pos);
- list.Add(pos.X);
- list.Add(pos.Y);
- list.Add(_sourceId);
- list.Add(atlasCoords.X);
- list.Add(atlasCoords.Y);
+ var tileCellData = _autoTileConfig.GetCellData(atlasCoords);
+ if (tileCellData != null)
+ {
+ list.Add(pos.X);
+ list.Add(pos.Y);
+ list.Add((int)tileCellData.TerrainPeering);
+ list.Add(tileCellData.TerrainType);
+ }
}
}
- private void SetLayerDataFromList(int layer, List list)
+ //设置自动地形层的数据
+ private void SetAutoLayerDataFromList(int layer, List list)
{
- for (var i = 0; i < list.Count; i += 5)
+ var terrainInfo = _autoTileConfig.TerrainInfo;
+ var sourceId = _autoTileConfig.SourceId;
+ for (var i = 0; i < list.Count; i += 4)
{
var pos = new Vector2I(list[i], list[i + 1]);
- var sourceId = list[i + 2];
- var atlasCoords = new Vector2I(list[i + 3], list[i + 4]);
+ var bit = (uint)list[i + 2];
+ var type = (byte)list[i + 3];
+ var index = terrainInfo.TerrainBitToIndex(bit, type);
+ var terrainCell = terrainInfo.GetTerrainCell(index, type);
+ var atlasCoords = terrainInfo.GetPosition(terrainCell);
SetCell(layer, pos, sourceId, atlasCoords);
if (layer == AutoFloorLayer)
{
@@ -512,9 +521,9 @@
InitLayer();
//地块数据
- SetLayerDataFromList(AutoFloorLayer, tileInfo.Floor);
- SetLayerDataFromList(AutoMiddleLayer, tileInfo.Middle);
- SetLayerDataFromList(AutoTopLayer, tileInfo.Top);
+ SetAutoLayerDataFromList(AutoFloorLayer, tileInfo.Floor);
+ SetAutoLayerDataFromList(AutoMiddleLayer, tileInfo.Middle);
+ SetAutoLayerDataFromList(AutoTopLayer, tileInfo.Top);
//如果有图块错误, 则找出错误的点位
if (roomSplit.ErrorType == RoomErrorType.TileError)
@@ -1128,9 +1137,9 @@
tileInfo.Middle.Clear();
tileInfo.Top.Clear();
- PushLayerDataToList(AutoFloorLayer, _sourceId, tileInfo.Floor);
- PushLayerDataToList(AutoMiddleLayer, _sourceId, tileInfo.Middle);
- PushLayerDataToList(AutoTopLayer, _sourceId, tileInfo.Top);
+ PushAutoLayerDataToList(AutoFloorLayer, _sourceId, tileInfo.Floor);
+ PushAutoLayerDataToList(AutoMiddleLayer, _sourceId, tileInfo.Middle);
+ PushAutoLayerDataToList(AutoTopLayer, _sourceId, tileInfo.Top);
MapProjectManager.SaveRoomTileInfo(CurrRoomSplit);
}
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
index f21283a..d70d9ec 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
@@ -134,9 +134,7 @@
return null;
}
- roomInfo.Size = new SerializeVector2();
- roomInfo.Position = new SerializeVector2();
- roomInfo.DoorAreaInfos = new List();
+ roomInfo.InitData();
var roomSplit = new DungeonRoomSplit();
roomSplit.ErrorType = RoomErrorType.Empty;
@@ -144,11 +142,7 @@
roomSplit.RoomInfo = roomInfo;
var tileInfo = new DungeonTileInfo();
- tileInfo.NavigationVertices = new List();
- tileInfo.NavigationPolygon = new List();
- tileInfo.Floor = new List();
- tileInfo.Middle = new List();
- tileInfo.Top = new List();
+ tileInfo.InitData();
roomSplit.TileInfo = tileInfo;
roomSplit.Preinstall = new List();
diff --git a/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/TileSetEditorTerrainPanel.cs b/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/TileSetEditorTerrainPanel.cs
index 3e92f1b..2c95197 100644
--- a/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/TileSetEditorTerrainPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/TileSetEditorTerrainPanel.cs
@@ -85,7 +85,7 @@
var terrain = ((TileSetSourceInfo)obj).Terrain;
_topGrid1.ForEach(cell =>
{
- var ints = terrain.GetTerrainBit( cell.Index, cell.Data);
+ var ints = terrain.GetTerrainCell( cell.Index, cell.Data);
if (ints != null)
{
cell.CellNode.Instance.SetCell(new Rect2I(ints[0], ints[1], GameConfig.TileCellSize, GameConfig.TileCellSize));
@@ -93,7 +93,7 @@
});
_topGrid2.ForEach(cell =>
{
- var ints = terrain.GetTerrainBit(cell.Index, cell.Data);
+ var ints = terrain.GetTerrainCell(cell.Index, cell.Data);
if (ints != null)
{
cell.CellNode.Instance.SetCell(new Rect2I(ints[0], ints[1], GameConfig.TileCellSize, GameConfig.TileCellSize));
@@ -101,7 +101,7 @@
});
_topGrid3.ForEach(cell =>
{
- var ints = terrain.GetTerrainBit( cell.Index, cell.Data);
+ var ints = terrain.GetTerrainCell( cell.Index, cell.Data);
if (ints != null)
{
cell.CellNode.Instance.SetCell(new Rect2I(ints[0], ints[1], GameConfig.TileCellSize, GameConfig.TileCellSize));
diff --git a/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/up/TerrainCellDropHandler.cs b/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/up/TerrainCellDropHandler.cs
index b35f9dc..2f7a0fc 100644
--- a/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/up/TerrainCellDropHandler.cs
+++ b/DungeonShooting_Godot/src/game/ui/tileSetEditorTerrain/up/TerrainCellDropHandler.cs
@@ -76,11 +76,11 @@
{
if (cellData == null)
{
- _panel.EditorPanel.TileSetSourceInfo.Terrain.RemoveTerrainBit(_cell.Index, _cell.Data);
+ _panel.EditorPanel.TileSetSourceInfo.Terrain.RemoveTerrainCell(_cell.Index, _cell.Data);
}
else
{
- _panel.EditorPanel.TileSetSourceInfo.Terrain.SetTerrainBit(_cell.Index, _cell.Data, cellData);
+ _panel.EditorPanel.TileSetSourceInfo.Terrain.SetTerrainCell(_cell.Index, _cell.Data, cellData);
}
EventManager.EmitEvent(EventEnum.OnTileSetDirty);