diff --git a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
index 59dcd63..ce8105f 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/GroupConfig.json
@@ -7,12 +7,26 @@
"Path": "resource/map/tileMaps/TestGroup1/battle/Battle1"
},
{
- "ErrorType": 4,
+ "ErrorType": 0,
"Path": "resource/map/tileMaps/TestGroup1/battle/Battle2"
+ },
+ {
+ "ErrorType": 0,
+ "Path": "resource/map/tileMaps/TestGroup1/battle/Battle3"
}
],
- "InletList": [],
- "OutletList": [],
+ "InletList": [
+ {
+ "ErrorType": 0,
+ "Path": "resource/map/tileMaps/TestGroup1/inlet/Start1"
+ }
+ ],
+ "OutletList": [
+ {
+ "ErrorType": 0,
+ "Path": "resource/map/tileMaps/TestGroup1/outlet/End1"
+ }
+ ],
"BossList": [],
"RewardList": [],
"ShopList": [],
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png
index 4519351..eb42965 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json
index 36a051d..1e6b269 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/RoomInfo.json
@@ -1 +1 @@
-{"Position":{"X":-7,"Y":-8},"Size":{"X":23,"Y":17},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle1","Weight":100,"Remark":""}
\ No newline at end of file
+{"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
index bec7e05..1d76fc5 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/TileInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle1/TileInfo.json
@@ -1 +1 @@
-{"NavigationList":[{"Type":0,"Points":[168,-104,184,-104,184,-72,232,-72,232,0,184,0,184,56,232,56,232,112,184,112,184,128,168,128,168,32,120,32,120,128,-88,128,-88,-88,120,-88,120,-8,168,-8]},{"Type":1,"Points":[-72,-64,8,-64,8,-24,-24,-24,-24,8,-72,8]},{"Type":1,"Points":[24,-64,104,-64,104,8,56,8,56,-24,24,-24]},{"Type":1,"Points":[-72,32,-24,32,-24,64,8,64,8,104,-72,104]},{"Type":1,"Points":[56,32,104,32,104,104,24,104,24,64,56,64]}],"Floor":[14,6,0,0,8,14,5,0,0,8,14,3,0,0,8,14,4,0,0,8,14,-3,0,0,8,14,-4,0,0,8,14,-5,0,0,8,14,-2,0,0,8,14,-1,0,0,8,13,3,0,0,8,13,4,0,0,8,13,5,0,0,8,13,6,0,0,8,13,-3,0,0,8,13,-4,0,0,8,13,-5,0,0,8,13,-2,0,0,8,13,-1,0,0,8,12,6,0,0,8,12,5,0,0,8,12,4,0,0,8,12,3,0,0,8,12,-4,0,0,8,12,-3,0,0,8,12,-5,0,0,8,12,-1,0,0,8,12,-2,0,0,8,11,-7,0,0,8,11,-6,0,0,8,11,-5,0,0,8,11,-4,0,0,8,11,-3,0,0,8,11,-2,0,0,8,11,-1,0,0,8,11,0,0,0,8,11,1,0,0,8,11,2,0,0,8,11,3,0,0,8,11,4,0,0,8,11,5,0,0,8,11,6,0,0,8,11,7,0,0,8,7,7,0,0,8,7,6,0,0,8,7,5,0,0,8,7,4,0,0,8,7,3,0,0,8,7,2,0,0,8,7,1,0,0,8,7,0,0,0,8,7,-1,0,0,8,7,-2,0,0,8,7,-3,0,0,8,7,-4,0,0,8,7,-5,0,0,8,7,-6,0,0,8,6,7,0,0,8,6,6,0,0,8,6,5,0,0,8,6,4,0,0,8,6,3,0,0,8,6,2,0,0,8,6,1,0,0,8,6,0,0,0,8,6,-1,0,0,8,6,-2,0,0,8,6,-3,0,0,8,6,-4,0,0,8,6,-5,0,0,8,6,-6,0,0,8,5,6,0,0,8,5,7,0,0,8,5,1,0,0,8,5,0,0,0,8,5,-5,0,0,8,5,-6,0,0,8,4,6,0,0,8,4,7,0,0,8,4,1,0,0,8,4,0,0,0,8,4,-5,0,0,8,4,-6,0,0,8,3,6,0,0,8,3,7,0,0,8,3,3,0,0,8,3,2,0,0,8,3,1,0,0,8,3,0,0,0,8,3,-1,0,0,8,3,-2,0,0,8,3,-5,0,0,8,3,-6,0,0,8,2,6,0,0,8,2,7,0,0,8,2,3,0,0,8,2,2,0,0,8,2,1,0,0,8,2,0,0,0,8,2,-1,0,0,8,2,-2,0,0,8,2,-5,0,0,8,2,-6,0,0,8,1,0,0,0,8,1,1,0,0,8,1,7,0,0,8,1,6,0,0,8,1,5,0,0,8,1,4,0,0,8,1,3,0,0,8,1,2,0,0,8,1,-1,0,0,8,1,-2,0,0,8,1,-3,0,0,8,1,-4,0,0,8,1,-5,0,0,8,1,-6,0,0,8,0,1,0,0,8,0,0,0,0,8,0,7,0,0,8,0,6,0,0,8,0,5,0,0,8,0,4,0,0,8,0,3,0,0,8,0,2,0,0,8,0,-1,0,0,8,0,-2,0,0,8,0,-3,0,0,8,0,-4,0,0,8,0,-5,0,0,8,0,-6,0,0,8,-1,6,0,0,8,-1,7,0,0,8,-1,3,0,0,8,-1,2,0,0,8,-1,1,0,0,8,-1,0,0,0,8,-1,-1,0,0,8,-1,-2,0,0,8,-1,-5,0,0,8,-1,-6,0,0,8,-2,6,0,0,8,-2,7,0,0,8,-2,3,0,0,8,-2,2,0,0,8,-2,1,0,0,8,-2,0,0,0,8,-2,-1,0,0,8,-2,-2,0,0,8,-2,-5,0,0,8,-2,-6,0,0,8,-3,6,0,0,8,-3,7,0,0,8,-3,1,0,0,8,-3,0,0,0,8,-3,-5,0,0,8,-3,-6,0,0,8,-4,6,0,0,8,-4,7,0,0,8,-4,1,0,0,8,-4,0,0,0,8,-4,-5,0,0,8,-4,-6,0,0,8,-5,7,0,0,8,-5,6,0,0,8,-5,5,0,0,8,-5,4,0,0,8,-5,3,0,0,8,-5,2,0,0,8,-5,1,0,0,8,-5,0,0,0,8,-5,-1,0,0,8,-5,-2,0,0,8,-5,-3,0,0,8,-5,-4,0,0,8,-5,-5,0,0,8,-5,-6,0,0,8,-6,7,0,0,8,-6,6,0,0,8,-6,5,0,0,8,-6,4,0,0,8,-6,3,0,0,8,-6,2,0,0,8,-6,1,0,0,8,-6,0,0,0,8,-6,-1,0,0,8,-6,-2,0,0,8,-6,-3,0,0,8,-6,-4,0,0,8,-6,-5,0,0,8,-6,-6,0,0,8,8,-1,0,0,8,8,0,0,0,8,8,1,0,0,8,9,-1,0,0,8,9,0,0,0,8,9,1,0,0,8,10,-2,0,0,8,10,-3,0,0,8,10,-4,0,0,8,10,-5,0,0,8,10,-6,0,0,8,10,-7,0,0,8,10,7,0,0,8,10,6,0,0,8,10,5,0,0,8,10,4,0,0,8,10,3,0,0,8,10,2,0,0,8,10,0,0,0,8,10,1,0,0,8,10,-1,0,0,8],"Middle":[-6,-7,0,2,7,-5,-7,0,2,7,-4,-7,0,2,7,-4,-1,0,1,7,-4,5,0,1,7,-3,-7,0,2,7,-3,-1,0,3,7,-3,5,0,2,7,-2,-7,0,2,7,-2,-3,0,2,7,-2,5,0,2,7,-1,-7,0,2,7,-1,-3,0,3,7,-1,5,0,3,7,0,-7,0,2,7,1,-7,0,2,7,2,-7,0,2,7,2,-3,0,1,7,2,5,0,1,7,3,-7,0,2,7,3,-3,0,2,7,3,5,0,2,7,4,-7,0,2,7,4,-1,0,1,7,4,5,0,2,7,5,-7,0,2,7,5,-1,0,3,7,5,5,0,3,7,6,-7,0,2,7,7,-7,0,2,7,8,-2,0,1,7,9,-2,0,3,7,10,-8,0,2,7,11,-8,0,2,7,12,-6,0,1,7,12,2,0,1,7,13,-6,0,2,7,13,2,0,2,7,14,-6,0,2,7,14,2,0,2,7],"Top":[-7,-7,0,3,4,-7,-6,0,3,3,-7,-5,0,3,3,-7,-4,0,3,3,-7,-3,0,3,3,-7,-2,0,3,3,-7,-1,0,3,3,-7,0,0,3,3,-7,1,0,3,3,-7,2,0,3,3,-7,3,0,3,3,-7,4,0,3,3,-7,5,0,3,3,-7,6,0,3,3,-7,7,0,3,3,-7,8,0,11,2,-6,8,0,2,2,-5,8,0,2,2,-4,-4,0,1,2,-4,-3,0,1,3,-4,-2,0,1,3,-4,2,0,1,2,-4,3,0,1,3,-4,4,0,1,3,-4,8,0,2,2,-3,-4,0,2,2,-3,-3,0,3,4,-3,-2,0,3,3,-3,2,0,3,2,-3,3,0,3,3,-3,4,0,11,2,-3,8,0,2,2,-2,-4,0,2,2,-2,4,0,2,2,-2,8,0,2,2,-1,-4,0,3,2,-1,4,0,3,2,-1,8,0,2,2,0,8,0,2,2,1,8,0,2,2,2,-4,0,1,2,2,4,0,1,2,2,8,0,2,2,3,-4,0,2,2,3,4,0,2,2,3,8,0,2,2,4,-4,0,2,2,4,-3,0,1,4,4,-2,0,1,3,4,2,0,1,2,4,3,0,1,3,4,4,0,13,2,4,8,0,2,2,5,-4,0,3,2,5,-3,0,3,3,5,-2,0,3,3,5,2,0,3,2,5,3,0,3,3,5,4,0,3,3,5,8,0,2,2,6,8,0,2,2,7,8,0,2,2,8,-7,0,1,4,8,-6,0,1,3,8,-5,0,1,3,8,-4,0,1,3,8,-3,0,1,3,8,2,0,1,2,8,3,0,1,3,8,4,0,1,3,8,5,0,1,3,8,6,0,1,3,8,7,0,1,3,8,8,0,13,2,9,-8,0,3,4,9,-7,0,3,3,9,-6,0,3,3,9,-5,0,3,3,9,-4,0,3,3,9,-3,0,3,3,9,2,0,3,2,9,3,0,3,3,9,4,0,3,3,9,5,0,3,3,9,6,0,3,3,9,7,0,3,3,9,8,0,11,2,10,8,0,2,2,11,8,0,2,2,12,-8,0,1,4,12,-7,0,1,3,12,0,0,1,2,12,1,0,1,3,12,7,0,1,2,12,8,0,13,2,13,0,0,2,2,13,7,0,2,2,14,0,0,2,2,14,7,0,2,2,15,-6,0,1,4,15,-5,0,1,3,15,-4,0,1,3,15,-3,0,1,3,15,-2,0,1,3,15,-1,0,1,3,15,0,0,13,2,15,2,0,1,4,15,3,0,1,3,15,4,0,1,3,15,5,0,1,3,15,6,0,1,3,15,7,0,13,2]}
\ No newline at end of file
+{"NavigationList":[{"Type":0,"Points":[-88,-88,120,-88,120,-8,168,-8,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,32,120,32,120,128,-88,128]},{"Type":1,"Points":[-72,-64,8,-64,8,-24,-24,-24,-24,8,-72,8]},{"Type":1,"Points":[24,-64,104,-64,104,8,56,8,56,-24,24,-24]},{"Type":1,"Points":[-72,32,-24,32,-24,64,8,64,8,104,-72,104]},{"Type":1,"Points":[56,32,104,32,104,104,24,104,24,64,56,64]}],"Floor":[10,-1,0,0,8,10,1,0,0,8,10,0,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,9,1,0,0,8,9,0,0,0,8,9,-1,0,0,8,8,1,0,0,8,8,0,0,0,8,8,-1,0,0,8,-6,-6,0,0,8,-6,-5,0,0,8,-6,-4,0,0,8,-6,-3,0,0,8,-6,-2,0,0,8,-6,-1,0,0,8,-6,0,0,0,8,-6,1,0,0,8,-6,2,0,0,8,-6,3,0,0,8,-6,4,0,0,8,-6,5,0,0,8,-6,6,0,0,8,-6,7,0,0,8,-5,-6,0,0,8,-5,-5,0,0,8,-5,-4,0,0,8,-5,-3,0,0,8,-5,-2,0,0,8,-5,-1,0,0,8,-5,0,0,0,8,-5,1,0,0,8,-5,2,0,0,8,-5,3,0,0,8,-5,4,0,0,8,-5,5,0,0,8,-5,6,0,0,8,-5,7,0,0,8,-4,-6,0,0,8,-4,-5,0,0,8,-4,0,0,0,8,-4,1,0,0,8,-4,7,0,0,8,-4,6,0,0,8,-3,-6,0,0,8,-3,-5,0,0,8,-3,0,0,0,8,-3,1,0,0,8,-3,7,0,0,8,-3,6,0,0,8,-2,-6,0,0,8,-2,-5,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,7,0,0,8,-2,6,0,0,8,-1,-6,0,0,8,-1,-5,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,7,0,0,8,-1,6,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,0,7,0,0,8,0,0,0,0,8,0,1,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,1,7,0,0,8,1,1,0,0,8,1,0,0,0,8,2,-6,0,0,8,2,-5,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,7,0,0,8,2,6,0,0,8,3,-6,0,0,8,3,-5,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,7,0,0,8,3,6,0,0,8,4,-6,0,0,8,4,-5,0,0,8,4,0,0,0,8,4,1,0,0,8,4,7,0,0,8,4,6,0,0,8,5,-6,0,0,8,5,-5,0,0,8,5,0,0,0,8,5,1,0,0,8,5,7,0,0,8,5,6,0,0,8,6,-6,0,0,8,6,-5,0,0,8,6,-4,0,0,8,6,-3,0,0,8,6,-2,0,0,8,6,-1,0,0,8,6,0,0,0,8,6,1,0,0,8,6,2,0,0,8,6,3,0,0,8,6,4,0,0,8,6,5,0,0,8,6,6,0,0,8,6,7,0,0,8,7,-6,0,0,8,7,-5,0,0,8,7,-4,0,0,8,7,-3,0,0,8,7,-2,0,0,8,7,-1,0,0,8,7,0,0,0,8,7,1,0,0,8,7,2,0,0,8,7,3,0,0,8,7,4,0,0,8,7,5,0,0,8,7,6,0,0,8,7,7,0,0,8,11,7,0,0,8,11,6,0,0,8,11,5,0,0,8,11,4,0,0,8,11,3,0,0,8,11,2,0,0,8,11,1,0,0,8,11,0,0,0,8,11,-1,0,0,8,11,-2,0,0,8,11,-3,0,0,8,11,-4,0,0,8,11,-5,0,0,8,11,-6,0,0,8,12,-2,0,0,8,12,-5,0,0,8,12,-3,0,0,8,12,-4,0,0,8,12,3,0,0,8,12,4,0,0,8,12,5,0,0,8,12,6,0,0,8,13,-2,0,0,8,13,-5,0,0,8,13,-4,0,0,8,13,-3,0,0,8,13,6,0,0,8,13,5,0,0,8,13,4,0,0,8,13,3,0,0,8,14,-2,0,0,8,14,-5,0,0,8,14,-4,0,0,8,14,-3,0,0,8,14,4,0,0,8,14,3,0,0,8,14,5,0,0,8,14,6,0,0,8],"Middle":[-6,-7,0,2,7,-5,-7,0,2,7,-4,-7,0,2,7,-4,-1,0,1,7,-4,5,0,1,7,-3,-7,0,2,7,-3,-1,0,3,7,-3,5,0,2,7,-2,-7,0,2,7,-2,-3,0,2,7,-2,5,0,2,7,-1,-7,0,2,7,-1,-3,0,3,7,-1,5,0,3,7,0,-7,0,2,7,1,-7,0,2,7,2,-7,0,2,7,2,-3,0,1,7,2,5,0,1,7,3,-7,0,2,7,3,-3,0,2,7,3,5,0,2,7,4,-7,0,2,7,4,-1,0,1,7,4,5,0,2,7,5,-7,0,2,7,5,-1,0,3,7,5,5,0,3,7,6,-7,0,2,7,7,-7,0,2,7,8,-2,0,1,7,9,-2,0,3,7,10,-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,-2,0,1,3,-4,2,0,1,2,-4,3,0,1,3,-4,4,0,1,3,-4,8,0,2,2,-3,-4,0,2,2,-3,-3,0,3,4,-3,-2,0,3,3,-3,2,0,3,2,-3,3,0,3,3,-3,4,0,11,2,-3,8,0,2,2,-2,-4,0,2,2,-2,4,0,2,2,-2,8,0,2,2,-1,-4,0,3,2,-1,4,0,3,2,-1,8,0,2,2,0,8,0,2,2,1,8,0,2,2,2,-4,0,1,2,2,4,0,1,2,2,8,0,2,2,3,-4,0,2,2,3,4,0,2,2,3,8,0,2,2,4,-4,0,2,2,4,-3,0,1,4,4,-2,0,1,3,4,2,0,1,2,4,3,0,1,3,4,4,0,13,2,4,8,0,2,2,5,-4,0,3,2,5,-3,0,3,3,5,-2,0,3,3,5,2,0,3,2,5,3,0,3,3,5,4,0,3,3,5,8,0,2,2,6,8,0,2,2,7,8,0,2,2,8,-7,0,1,4,8,-6,0,1,3,8,-5,0,1,3,8,-4,0,1,3,8,-3,0,1,3,8,2,0,1,2,8,3,0,1,3,8,4,0,1,3,8,5,0,1,3,8,6,0,1,3,8,7,0,1,3,8,8,0,13,2,9,-7,0,3,4,9,-6,0,3,3,9,-5,0,3,3,9,-4,0,3,3,9,-3,0,3,3,9,2,0,3,2,9,3,0,3,3,9,4,0,3,3,9,5,0,3,3,9,6,0,3,3,9,7,0,3,3,9,8,0,11,2,10,8,0,2,2,11,8,0,2,2,12,-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
index 0637a08..5a69f26 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preinstall.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preinstall.json
@@ -1 +1 @@
-[]
\ No newline at end of file
+[{"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":140},"Size":{"X":43,"Y":77},"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/TestGroup1/battle/Battle2/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png
index 40b715c..7f5ea4d 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json
index 6e172a4..24c608a 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/RoomInfo.json
@@ -1 +1 @@
-{"Position":{"X":-8,"Y":-10},"Size":{"X":18,"Y":17},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":0,"RoomName":"Battle2","Weight":100,"Remark":""}
\ No newline at end of file
+{"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
index 31413bf..38a683d 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/TileInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle2/TileInfo.json
@@ -1 +1 @@
-{"NavigationList":[{"Type":0,"Points":[-104,-136,-40,-136,-40,-72,104,-72,104,-136,136,-136,136,96,72,96,72,16,-56,16,-56,96,-104,96]}],"Floor":[8,5,0,0,8,8,4,0,0,8,8,3,0,0,8,8,2,0,0,8,8,1,0,0,8,8,0,0,0,8,8,-1,0,0,8,8,-2,0,0,8,8,-3,0,0,8,8,-4,0,0,8,8,-5,0,0,8,8,-6,0,0,8,8,-7,0,0,8,8,-8,0,0,8,8,-9,0,0,8,7,5,0,0,8,7,4,0,0,8,7,3,0,0,8,7,2,0,0,8,7,1,0,0,8,7,0,0,0,8,7,-1,0,0,8,7,-2,0,0,8,7,-3,0,0,8,7,-4,0,0,8,7,-5,0,0,8,7,-6,0,0,8,7,-7,0,0,8,7,-8,0,0,8,7,-9,0,0,8,6,5,0,0,8,6,4,0,0,8,6,3,0,0,8,6,2,0,0,8,6,1,0,0,8,6,0,0,0,8,6,-1,0,0,8,6,-2,0,0,8,6,-3,0,0,8,6,-4,0,0,8,6,-5,0,0,8,6,-6,0,0,8,6,-7,0,0,8,6,-8,0,0,8,6,-9,0,0,8,5,5,0,0,8,5,4,0,0,8,5,3,0,0,8,5,2,0,0,8,5,1,0,0,8,5,0,0,0,8,5,-1,0,0,8,5,-2,0,0,8,5,-3,0,0,8,5,-4,0,0,8,5,-5,0,0,8,4,5,0,0,8,4,4,0,0,8,4,3,0,0,8,4,2,0,0,8,4,1,0,0,8,4,0,0,0,8,4,-1,0,0,8,4,-2,0,0,8,4,-3,0,0,8,4,-4,0,0,8,4,-5,0,0,8,3,0,0,0,8,3,-1,0,0,8,3,-2,0,0,8,3,-3,0,0,8,3,-4,0,0,8,3,-5,0,0,8,2,0,0,0,8,2,-1,0,0,8,2,-2,0,0,8,2,-3,0,0,8,2,-4,0,0,8,2,-5,0,0,8,1,0,0,0,8,1,-1,0,0,8,1,-2,0,0,8,1,-3,0,0,8,1,-4,0,0,8,1,-5,0,0,8,0,0,0,0,8,0,-1,0,0,8,0,-2,0,0,8,0,-3,0,0,8,0,-4,0,0,8,0,-5,0,0,8,-1,0,0,0,8,-1,-1,0,0,8,-1,-2,0,0,8,-1,-3,0,0,8,-1,-4,0,0,8,-1,-5,0,0,8,-2,0,0,0,8,-2,-1,0,0,8,-2,-2,0,0,8,-2,-3,0,0,8,-2,-4,0,0,8,-2,-5,0,0,8,-3,0,0,0,8,-3,-1,0,0,8,-3,-2,0,0,8,-3,-3,0,0,8,-3,-4,0,0,8,-3,-5,0,0,8,-3,-6,0,0,8,-3,-7,0,0,8,-3,-8,0,0,8,-3,-9,0,0,8,-4,5,0,0,8,-4,4,0,0,8,-4,3,0,0,8,-4,2,0,0,8,-4,1,0,0,8,-4,0,0,0,8,-4,-1,0,0,8,-4,-2,0,0,8,-4,-3,0,0,8,-4,-4,0,0,8,-4,-5,0,0,8,-4,-6,0,0,8,-4,-7,0,0,8,-4,-8,0,0,8,-4,-9,0,0,8,-5,5,0,0,8,-5,4,0,0,8,-5,3,0,0,8,-5,2,0,0,8,-5,1,0,0,8,-5,0,0,0,8,-5,-1,0,0,8,-5,-2,0,0,8,-5,-3,0,0,8,-5,-4,0,0,8,-5,-5,0,0,8,-5,-6,0,0,8,-5,-7,0,0,8,-5,-8,0,0,8,-5,-9,0,0,8,-6,5,0,0,8,-6,4,0,0,8,-6,3,0,0,8,-6,2,0,0,8,-6,1,0,0,8,-6,0,0,0,8,-6,-1,0,0,8,-6,-2,0,0,8,-6,-3,0,0,8,-6,-4,0,0,8,-6,-5,0,0,8,-6,-6,0,0,8,-6,-7,0,0,8,-6,-8,0,0,8,-6,-9,0,0,8,-7,5,0,0,8,-7,4,0,0,8,-7,3,0,0,8,-7,2,0,0,8,-7,1,0,0,8,-7,0,0,0,8,-7,-1,0,0,8,-7,-2,0,0,8,-7,-3,0,0,8,-7,-4,0,0,8,-7,-5,0,0,8,-7,-6,0,0,8,-7,-7,0,0,8,-7,-8,0,0,8,-7,-9,0,0,8],"Middle":[-7,-10,0,2,7,-6,-10,0,2,7,-5,-10,0,2,7,-4,-10,0,2,7,-3,-10,0,2,7,-2,-6,0,1,7,-1,-6,0,2,7,0,-6,0,2,7,1,-6,0,2,7,2,-6,0,2,7,3,-6,0,2,7,4,-6,0,2,7,5,-6,0,3,7,6,-10,0,2,7,7,-10,0,2,7,8,-10,0,2,7],"Top":[-8,-10,0,3,4,-8,-9,0,3,3,-8,-8,0,3,3,-8,-7,0,3,3,-8,-6,0,3,3,-8,-5,0,3,3,-8,-4,0,3,3,-8,-3,0,3,3,-8,-2,0,3,3,-8,-1,0,3,3,-8,0,0,3,3,-8,1,0,3,3,-8,2,0,3,3,-8,3,0,3,3,-8,4,0,3,3,-8,5,0,3,3,-8,6,0,11,2,-7,6,0,2,2,-6,6,0,2,2,-5,6,0,2,2,-4,6,0,2,2,-3,1,0,1,2,-3,2,0,1,3,-3,3,0,1,3,-3,4,0,1,3,-3,5,0,1,3,-3,6,0,13,2,-2,-10,0,1,4,-2,-9,0,1,3,-2,-8,0,1,3,-2,-7,0,1,3,-2,1,0,2,2,-1,1,0,2,2,0,1,0,2,2,1,1,0,2,2,2,1,0,2,2,3,1,0,3,2,3,2,0,3,3,3,3,0,3,3,3,4,0,3,3,3,5,0,3,3,3,6,0,11,2,4,6,0,2,2,5,-10,0,3,4,5,-9,0,3,3,5,-8,0,3,3,5,-7,0,3,3,5,6,0,2,2,6,6,0,2,2,7,6,0,2,2,8,6,0,2,2,9,-10,0,1,4,9,-9,0,1,3,9,-8,0,1,3,9,-7,0,1,3,9,-6,0,1,3,9,-5,0,1,3,9,-4,0,1,3,9,-3,0,1,3,9,-2,0,1,3,9,-1,0,1,3,9,0,0,1,3,9,1,0,1,3,9,2,0,1,3,9,3,0,1,3,9,4,0,1,3,9,5,0,1,3,9,6,0,13,2]}
\ No newline at end of file
+{"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
new file mode 100644
index 0000000..c0b7848
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preinstall.json
@@ -0,0 +1 @@
+[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[],[{"Position":{"X":222,"Y":129},"Size":{"X":173,"Y":116},"SpecialMarkType":0,"DelayTime":0,"MarkList":[{"Id":"enemy0001","Weight":100,"Attr":{"Face":"0","Weapon":"weapon0007","CurrAmmon":"60","ResidueAmmo":"60"},"Altitude":0,"VerticalSpeed":0}]},{"Position":{"X":117,"Y":411},"Size":{"X":5,"Y":0},"SpecialMarkType":0,"DelayTime":0.5,"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
new file mode 100644
index 0000000..12a17de
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/RoomInfo.json
new file mode 100644
index 0000000..0f6e036
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/RoomInfo.json
@@ -0,0 +1 @@
+{"Position":{"X":-9,"Y":-4},"Size":{"X":43,"Y":35},"DoorAreaInfos":[{"Direction":1,"Start":368,"End":528},{"Direction":2,"Start":0,"End":448},{"Direction":0,"Start":176,"End":512},{"Direction":3,"Start":80,"End":224}],"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
new file mode 100644
index 0000000..40d4b30
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/battle/Battle3/TileInfo.json
@@ -0,0 +1 @@
+{"NavigationList":[{"Type":0,"Points":[-40,-40,88,-40,88,24,376,24,376,136,520,136,520,464,312,464,312,480,-120,480,-120,328,-88,328,-88,168,-72,168,-72,152,72,152,72,80,-40,80]},{"Type":1,"Points":[-40,208,72,208,72,224,296,224,296,328,-40,328]}],"Floor":[-3,19,0,0,8,-3,18,0,0,8,-3,17,0,0,8,-3,16,0,0,8,-3,15,0,0,8,-3,14,0,0,8,-3,13,0,0,8,-3,9,0,0,8,-3,12,0,0,8,-3,10,0,0,8,-3,11,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,20,0,0,8,-3,21,0,0,8,-3,22,0,0,8,-3,23,0,0,8,-3,24,0,0,8,-3,25,0,0,8,-3,26,0,0,8,-3,27,0,0,8,-3,28,0,0,8,-3,29,0,0,8,-2,9,0,0,8,-2,11,0,0,8,-2,12,0,0,8,-2,10,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,20,0,0,8,-2,21,0,0,8,-2,22,0,0,8,-2,23,0,0,8,-2,24,0,0,8,-2,25,0,0,8,-2,26,0,0,8,-2,27,0,0,8,-2,28,0,0,8,-2,29,0,0,8,-1,9,0,0,8,-1,11,0,0,8,-1,12,0,0,8,-1,10,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,20,0,0,8,-1,21,0,0,8,-1,22,0,0,8,-1,23,0,0,8,-1,24,0,0,8,-1,25,0,0,8,-1,26,0,0,8,-1,27,0,0,8,-1,28,0,0,8,-1,29,0,0,8,0,9,0,0,8,0,11,0,0,8,0,12,0,0,8,0,10,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,20,0,0,8,0,21,0,0,8,0,22,0,0,8,0,23,0,0,8,0,24,0,0,8,0,25,0,0,8,0,26,0,0,8,0,27,0,0,8,0,28,0,0,8,0,29,0,0,8,1,11,0,0,8,1,12,0,0,8,1,10,0,0,8,1,9,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,20,0,0,8,1,21,0,0,8,1,22,0,0,8,1,23,0,0,8,1,24,0,0,8,1,25,0,0,8,1,26,0,0,8,1,27,0,0,8,1,28,0,0,8,1,29,0,0,8,2,11,0,0,8,2,12,0,0,8,2,10,0,0,8,2,9,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,20,0,0,8,2,21,0,0,8,2,22,0,0,8,2,23,0,0,8,2,24,0,0,8,2,25,0,0,8,2,26,0,0,8,2,27,0,0,8,2,28,0,0,8,2,29,0,0,8,3,9,0,0,8,3,11,0,0,8,3,12,0,0,8,3,10,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,20,0,0,8,3,21,0,0,8,3,22,0,0,8,3,23,0,0,8,3,24,0,0,8,3,25,0,0,8,3,26,0,0,8,3,27,0,0,8,3,28,0,0,8,3,29,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,4,11,0,0,8,4,12,0,0,8,4,13,0,0,8,4,20,0,0,8,4,21,0,0,8,4,22,0,0,8,4,23,0,0,8,4,24,0,0,8,4,25,0,0,8,4,26,0,0,8,4,27,0,0,8,4,28,0,0,8,4,29,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,5,11,0,0,8,5,12,0,0,8,5,13,0,0,8,5,20,0,0,8,5,21,0,0,8,5,22,0,0,8,5,23,0,0,8,5,24,0,0,8,5,25,0,0,8,5,26,0,0,8,5,27,0,0,8,5,28,0,0,8,5,29,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,6,12,0,0,8,6,13,0,0,8,6,20,0,0,8,6,21,0,0,8,6,22,0,0,8,6,23,0,0,8,6,24,0,0,8,6,25,0,0,8,6,26,0,0,8,6,27,0,0,8,6,28,0,0,8,6,29,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,7,11,0,0,8,7,12,0,0,8,7,13,0,0,8,7,20,0,0,8,7,21,0,0,8,7,22,0,0,8,7,23,0,0,8,7,24,0,0,8,7,25,0,0,8,7,26,0,0,8,7,27,0,0,8,7,28,0,0,8,7,29,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,8,11,0,0,8,8,12,0,0,8,8,13,0,0,8,8,20,0,0,8,8,21,0,0,8,8,22,0,0,8,8,23,0,0,8,8,24,0,0,8,8,25,0,0,8,8,26,0,0,8,8,27,0,0,8,8,28,0,0,8,8,29,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,9,11,0,0,8,9,12,0,0,8,9,13,0,0,8,9,20,0,0,8,9,21,0,0,8,9,22,0,0,8,9,23,0,0,8,9,24,0,0,8,9,25,0,0,8,9,26,0,0,8,9,27,0,0,8,9,28,0,0,8,9,29,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,10,11,0,0,8,10,12,0,0,8,10,13,0,0,8,10,20,0,0,8,10,21,0,0,8,10,22,0,0,8,10,23,0,0,8,10,24,0,0,8,10,25,0,0,8,10,26,0,0,8,10,27,0,0,8,10,28,0,0,8,10,29,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,11,10,0,0,8,11,11,0,0,8,11,12,0,0,8,11,13,0,0,8,11,20,0,0,8,11,21,0,0,8,11,22,0,0,8,11,23,0,0,8,11,24,0,0,8,11,25,0,0,8,11,26,0,0,8,11,27,0,0,8,11,28,0,0,8,11,29,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,12,12,0,0,8,12,13,0,0,8,12,20,0,0,8,12,21,0,0,8,12,22,0,0,8,12,23,0,0,8,12,24,0,0,8,12,25,0,0,8,12,26,0,0,8,12,27,0,0,8,12,28,0,0,8,12,29,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,13,12,0,0,8,13,13,0,0,8,13,20,0,0,8,13,21,0,0,8,13,22,0,0,8,13,23,0,0,8,13,24,0,0,8,13,25,0,0,8,13,26,0,0,8,13,27,0,0,8,13,28,0,0,8,13,29,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,14,12,0,0,8,14,13,0,0,8,14,20,0,0,8,14,21,0,0,8,14,22,0,0,8,14,23,0,0,8,14,24,0,0,8,14,25,0,0,8,14,26,0,0,8,14,27,0,0,8,14,28,0,0,8,14,29,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,15,12,0,0,8,15,13,0,0,8,15,20,0,0,8,15,21,0,0,8,15,22,0,0,8,15,23,0,0,8,15,24,0,0,8,15,25,0,0,8,15,26,0,0,8,15,27,0,0,8,15,28,0,0,8,15,29,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,16,12,0,0,8,16,13,0,0,8,16,20,0,0,8,16,21,0,0,8,16,22,0,0,8,16,23,0,0,8,16,24,0,0,8,16,25,0,0,8,16,26,0,0,8,16,27,0,0,8,16,28,0,0,8,16,29,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,17,11,0,0,8,17,12,0,0,8,17,13,0,0,8,17,20,0,0,8,17,21,0,0,8,17,22,0,0,8,17,23,0,0,8,17,24,0,0,8,17,25,0,0,8,17,26,0,0,8,17,27,0,0,8,17,28,0,0,8,17,29,0,0,8,18,1,0,0,8,18,2,0,0,8,18,3,0,0,8,18,4,0,0,8,18,5,0,0,8,18,6,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,18,15,0,0,8,18,16,0,0,8,18,17,0,0,8,18,18,0,0,8,18,19,0,0,8,18,20,0,0,8,18,21,0,0,8,18,22,0,0,8,18,23,0,0,8,18,24,0,0,8,18,25,0,0,8,18,26,0,0,8,18,27,0,0,8,18,28,0,0,8,18,29,0,0,8,19,1,0,0,8,19,2,0,0,8,19,3,0,0,8,19,4,0,0,8,19,5,0,0,8,19,6,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,19,15,0,0,8,19,16,0,0,8,19,17,0,0,8,19,18,0,0,8,19,19,0,0,8,19,20,0,0,8,19,21,0,0,8,19,22,0,0,8,19,23,0,0,8,19,24,0,0,8,19,25,0,0,8,19,26,0,0,8,19,27,0,0,8,19,28,0,0,8,19,29,0,0,8,20,1,0,0,8,20,2,0,0,8,20,3,0,0,8,20,4,0,0,8,20,5,0,0,8,20,6,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,20,15,0,0,8,20,16,0,0,8,20,17,0,0,8,20,18,0,0,8,20,19,0,0,8,20,20,0,0,8,20,21,0,0,8,20,22,0,0,8,20,23,0,0,8,20,24,0,0,8,20,25,0,0,8,20,26,0,0,8,20,27,0,0,8,20,28,0,0,8,21,1,0,0,8,21,2,0,0,8,21,3,0,0,8,21,4,0,0,8,21,5,0,0,8,21,6,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,21,15,0,0,8,21,16,0,0,8,21,17,0,0,8,21,18,0,0,8,21,19,0,0,8,21,20,0,0,8,21,21,0,0,8,21,22,0,0,8,21,23,0,0,8,21,24,0,0,8,21,25,0,0,8,21,26,0,0,8,21,27,0,0,8,21,28,0,0,8,22,1,0,0,8,22,2,0,0,8,22,3,0,0,8,22,4,0,0,8,22,5,0,0,8,22,6,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,22,15,0,0,8,22,16,0,0,8,22,17,0,0,8,22,18,0,0,8,22,19,0,0,8,22,20,0,0,8,22,21,0,0,8,22,22,0,0,8,22,23,0,0,8,22,24,0,0,8,22,25,0,0,8,22,26,0,0,8,22,27,0,0,8,22,28,0,0,8,23,1,0,0,8,23,2,0,0,8,23,3,0,0,8,23,4,0,0,8,23,5,0,0,8,23,6,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,23,13,0,0,8,23,14,0,0,8,23,15,0,0,8,23,16,0,0,8,23,17,0,0,8,23,18,0,0,8,23,19,0,0,8,23,20,0,0,8,23,21,0,0,8,23,22,0,0,8,23,23,0,0,8,23,24,0,0,8,23,25,0,0,8,23,26,0,0,8,23,27,0,0,8,23,28,0,0,8,24,8,0,0,8,24,9,0,0,8,24,10,0,0,8,24,11,0,0,8,24,12,0,0,8,24,13,0,0,8,24,14,0,0,8,24,15,0,0,8,24,16,0,0,8,24,17,0,0,8,24,18,0,0,8,24,19,0,0,8,24,20,0,0,8,24,21,0,0,8,24,22,0,0,8,24,23,0,0,8,24,24,0,0,8,24,25,0,0,8,24,26,0,0,8,24,27,0,0,8,24,28,0,0,8,25,8,0,0,8,25,9,0,0,8,25,10,0,0,8,25,11,0,0,8,25,12,0,0,8,25,13,0,0,8,25,14,0,0,8,25,15,0,0,8,25,16,0,0,8,25,17,0,0,8,25,18,0,0,8,25,19,0,0,8,25,20,0,0,8,25,21,0,0,8,25,22,0,0,8,25,23,0,0,8,25,24,0,0,8,25,25,0,0,8,25,26,0,0,8,25,27,0,0,8,25,28,0,0,8,26,8,0,0,8,26,9,0,0,8,26,10,0,0,8,26,11,0,0,8,26,12,0,0,8,26,13,0,0,8,26,14,0,0,8,26,15,0,0,8,26,16,0,0,8,26,17,0,0,8,26,18,0,0,8,26,19,0,0,8,26,20,0,0,8,26,21,0,0,8,26,22,0,0,8,26,23,0,0,8,26,24,0,0,8,26,25,0,0,8,26,26,0,0,8,26,27,0,0,8,26,28,0,0,8,27,8,0,0,8,27,9,0,0,8,27,10,0,0,8,27,11,0,0,8,27,12,0,0,8,27,13,0,0,8,27,14,0,0,8,27,15,0,0,8,27,16,0,0,8,27,17,0,0,8,27,18,0,0,8,27,19,0,0,8,27,20,0,0,8,27,21,0,0,8,27,22,0,0,8,27,23,0,0,8,27,24,0,0,8,27,25,0,0,8,27,26,0,0,8,27,27,0,0,8,27,28,0,0,8,28,8,0,0,8,28,9,0,0,8,28,10,0,0,8,28,11,0,0,8,28,12,0,0,8,28,13,0,0,8,28,14,0,0,8,28,15,0,0,8,28,16,0,0,8,28,17,0,0,8,28,18,0,0,8,28,19,0,0,8,28,20,0,0,8,28,21,0,0,8,28,22,0,0,8,28,23,0,0,8,28,24,0,0,8,28,25,0,0,8,28,26,0,0,8,28,27,0,0,8,28,28,0,0,8,29,8,0,0,8,29,9,0,0,8,29,10,0,0,8,29,11,0,0,8,29,12,0,0,8,29,13,0,0,8,29,14,0,0,8,29,15,0,0,8,29,16,0,0,8,29,17,0,0,8,29,18,0,0,8,29,19,0,0,8,29,20,0,0,8,29,21,0,0,8,29,22,0,0,8,29,23,0,0,8,29,24,0,0,8,29,25,0,0,8,29,26,0,0,8,29,27,0,0,8,29,28,0,0,8,30,8,0,0,8,30,9,0,0,8,30,10,0,0,8,30,11,0,0,8,30,12,0,0,8,30,13,0,0,8,30,14,0,0,8,30,15,0,0,8,30,16,0,0,8,30,17,0,0,8,30,18,0,0,8,30,19,0,0,8,30,20,0,0,8,30,21,0,0,8,30,22,0,0,8,30,23,0,0,8,30,24,0,0,8,30,25,0,0,8,30,26,0,0,8,30,27,0,0,8,30,28,0,0,8,31,8,0,0,8,31,9,0,0,8,31,10,0,0,8,31,11,0,0,8,31,12,0,0,8,31,13,0,0,8,31,14,0,0,8,31,15,0,0,8,31,16,0,0,8,31,17,0,0,8,31,18,0,0,8,31,19,0,0,8,31,20,0,0,8,31,21,0,0,8,31,22,0,0,8,31,23,0,0,8,31,24,0,0,8,31,25,0,0,8,31,26,0,0,8,31,27,0,0,8,31,28,0,0,8,32,8,0,0,8,32,9,0,0,8,32,10,0,0,8,32,11,0,0,8,32,12,0,0,8,32,13,0,0,8,32,14,0,0,8,32,15,0,0,8,32,16,0,0,8,32,17,0,0,8,32,18,0,0,8,32,19,0,0,8,32,20,0,0,8,32,21,0,0,8,32,22,0,0,8,32,23,0,0,8,32,24,0,0,8,32,25,0,0,8,32,26,0,0,8,32,27,0,0,8,32,28,0,0,8,-8,20,0,0,8,-8,21,0,0,8,-8,22,0,0,8,-8,23,0,0,8,-8,24,0,0,8,-8,25,0,0,8,-8,26,0,0,8,-8,27,0,0,8,-8,28,0,0,8,-8,29,0,0,8,-7,20,0,0,8,-7,21,0,0,8,-7,22,0,0,8,-7,23,0,0,8,-7,24,0,0,8,-7,25,0,0,8,-7,26,0,0,8,-7,27,0,0,8,-7,28,0,0,8,-7,29,0,0,8,-6,19,0,0,8,-6,18,0,0,8,-6,17,0,0,8,-6,16,0,0,8,-6,15,0,0,8,-6,14,0,0,8,-6,10,0,0,8,-6,13,0,0,8,-6,12,0,0,8,-6,11,0,0,8,-6,20,0,0,8,-6,21,0,0,8,-6,22,0,0,8,-6,23,0,0,8,-6,24,0,0,8,-6,25,0,0,8,-6,26,0,0,8,-6,27,0,0,8,-6,28,0,0,8,-6,29,0,0,8,-5,17,0,0,8,-5,16,0,0,8,-5,15,0,0,8,-5,14,0,0,8,-5,19,0,0,8,-5,18,0,0,8,-5,10,0,0,8,-5,9,0,0,8,-5,12,0,0,8,-5,13,0,0,8,-5,11,0,0,8,-5,20,0,0,8,-5,21,0,0,8,-5,22,0,0,8,-5,23,0,0,8,-5,24,0,0,8,-5,25,0,0,8,-5,26,0,0,8,-5,27,0,0,8,-5,28,0,0,8,-5,29,0,0,8,-4,16,0,0,8,-4,19,0,0,8,-4,18,0,0,8,-4,17,0,0,8,-4,15,0,0,8,-4,14,0,0,8,-4,13,0,0,8,-4,10,0,0,8,-4,9,0,0,8,-4,12,0,0,8,-4,11,0,0,8,-4,20,0,0,8,-4,21,0,0,8,-4,22,0,0,8,-4,23,0,0,8,-4,24,0,0,8,-4,25,0,0,8,-4,26,0,0,8,-4,27,0,0,8,-4,28,0,0,8,-4,29,0,0,8],"Middle":[-8,19,0,2,7,-7,19,0,3,7,-6,9,0,3,7,-5,8,0,2,7,-4,8,0,2,7,-3,-4,0,2,7,-3,8,0,2,7,-2,-4,0,2,7,-2,8,0,2,7,-2,19,0,1,7,-1,-4,0,2,7,-1,8,0,2,7,-1,19,0,2,7,0,-4,0,2,7,0,8,0,2,7,0,19,0,2,7,1,-4,0,2,7,1,8,0,2,7,1,19,0,2,7,2,-4,0,2,7,2,8,0,2,7,2,19,0,2,7,3,-4,0,2,7,3,8,0,3,7,3,19,0,2,7,4,-4,0,2,7,4,19,0,2,7,5,-4,0,2,7,5,19,0,2,7,6,0,0,1,7,6,19,0,2,7,7,0,0,2,7,7,19,0,2,7,8,0,0,2,7,8,19,0,2,7,9,0,0,2,7,9,19,0,2,7,10,0,0,2,7,10,19,0,2,7,11,0,0,2,7,11,19,0,2,7,12,0,0,2,7,12,19,0,2,7,13,0,0,2,7,13,19,0,2,7,14,0,0,2,7,14,19,0,2,7,15,0,0,2,7,15,19,0,2,7,16,0,0,2,7,16,19,0,2,7,17,0,0,2,7,17,19,0,3,7,18,0,0,2,7,19,0,0,2,7,20,0,0,2,7,21,0,0,2,7,22,0,0,2,7,23,0,0,2,7,24,7,0,1,7,25,7,0,2,7,26,7,0,2,7,27,7,0,2,7,28,7,0,2,7,29,7,0,2,7,30,7,0,2,7,31,7,0,2,7,32,7,0,2,7],"Top":[-9,19,0,3,4,-9,20,0,3,3,-9,21,0,3,3,-9,22,0,3,3,-9,23,0,3,3,-9,24,0,3,3,-9,25,0,3,3,-9,26,0,3,3,-9,27,0,3,3,-9,28,0,3,3,-9,29,0,3,3,-9,30,0,11,2,-8,30,0,2,2,-7,9,0,3,4,-7,10,0,3,3,-7,11,0,3,3,-7,12,0,3,3,-7,13,0,3,3,-7,14,0,3,3,-7,15,0,3,3,-7,16,0,3,3,-7,17,0,3,3,-7,18,0,3,3,-7,30,0,2,2,-6,8,0,3,4,-6,30,0,2,2,-5,30,0,2,2,-4,-4,0,3,4,-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,11,2,-4,30,0,2,2,-3,5,0,2,2,-3,30,0,2,2,-2,5,0,2,2,-2,13,0,1,2,-2,14,0,1,3,-2,15,0,1,3,-2,16,0,1,3,-2,17,0,1,3,-2,18,0,1,3,-2,30,0,2,2,-1,5,0,2,2,-1,13,0,2,2,-1,30,0,2,2,0,5,0,2,2,0,13,0,2,2,0,30,0,2,2,1,5,0,2,2,1,13,0,2,2,1,30,0,2,2,2,5,0,2,2,2,13,0,2,2,2,30,0,2,2,3,5,0,3,2,3,6,0,3,3,3,7,0,3,3,3,13,0,3,2,3,14,0,11,2,3,30,0,2,2,4,14,0,2,2,4,30,0,2,2,5,14,0,2,2,5,30,0,2,2,6,-4,0,1,4,6,-3,0,1,3,6,-2,0,1,3,6,-1,0,1,3,6,14,0,2,2,6,30,0,2,2,7,14,0,2,2,7,30,0,2,2,8,14,0,2,2,8,30,0,2,2,9,14,0,2,2,9,30,0,2,2,10,14,0,2,2,10,30,0,2,2,11,14,0,2,2,11,30,0,2,2,12,14,0,2,2,12,30,0,2,2,13,14,0,2,2,13,30,0,2,2,14,14,0,2,2,14,30,0,2,2,15,14,0,2,2,15,30,0,2,2,16,14,0,2,2,16,30,0,2,2,17,14,0,3,2,17,15,0,3,3,17,16,0,3,3,17,17,0,3,3,17,18,0,3,3,17,30,0,2,2,18,30,0,2,2,19,30,0,2,2,20,29,0,1,2,20,30,0,13,2,21,29,0,2,2,22,29,0,2,2,23,29,0,2,2,24,0,0,1,4,24,1,0,1,3,24,2,0,1,3,24,3,0,1,3,24,4,0,1,3,24,5,0,1,3,24,6,0,1,3,24,29,0,2,2,25,29,0,2,2,26,29,0,2,2,27,29,0,2,2,28,29,0,2,2,29,29,0,2,2,30,29,0,2,2,31,29,0,2,2,32,29,0,2,2,33,7,0,1,4,33,8,0,1,3,33,9,0,1,3,33,10,0,1,3,33,11,0,1,3,33,12,0,1,3,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,1,3,33,25,0,1,3,33,26,0,1,3,33,27,0,1,3,33,28,0,1,3,33,29,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
new file mode 100644
index 0000000..2a652fa
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preinstall.json
@@ -0,0 +1 @@
+[{"Name":"test1","Weight":100,"Remark":"","WaveList":[[{"Position":{"X":8,"Y":19},"Size":{"X":0,"Y":0},"SpecialMarkType":1,"DelayTime":0,"MarkList":[]},{"Position":{"X":8,"Y":19},"Size":{"X":83,"Y":73},"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/Start1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png
new file mode 100644
index 0000000..7d32b8e
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png
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
new file mode 100644
index 0000000..74d2d7c
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/Preview.png.import
@@ -0,0 +1,34 @@
+[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
new file mode 100644
index 0000000..02c0b53
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/RoomInfo.json
@@ -0,0 +1 @@
+{"Position":{"X":-4,"Y":-3},"Size":{"X":9,"Y":8},"DoorAreaInfos":[],"GroupName":"TestGroup1","RoomType":1,"RoomName":"Start1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/TileInfo.json
new file mode 100644
index 0000000..34882e2
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/inlet/Start1/TileInfo.json
@@ -0,0 +1 @@
+{"NavigationList":[{"Type":0,"Points":[-40,-24,56,-24,56,64,-40,64]}],"Floor":[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,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,2,0,0,8,1,1,0,0,8,1,0,0,0,8,1,-1,0,0,8,1,-2,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,-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,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,-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],"Middle":[-3,-3,0,2,7,-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],"Top":[-4,-3,0,3,4,-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,11,2,-3,4,0,2,2,-2,4,0,2,2,-1,4,0,2,2,0,4,0,2,2,1,4,0,2,2,2,4,0,2,2,3,4,0,2,2,4,-3,0,1,4,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,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
new file mode 100644
index 0000000..d4d67e3
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preinstall.json
@@ -0,0 +1 @@
+[{"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
new file mode 100644
index 0000000..8e0a47a
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png
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
new file mode 100644
index 0000000..d756672
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/Preview.png.import
@@ -0,0 +1,34 @@
+[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
new file mode 100644
index 0000000..ba808d1
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/RoomInfo.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..148a844
--- /dev/null
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup1/outlet/End1/TileInfo.json
@@ -0,0 +1 @@
+{"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/src/framework/map/DungeonGenerator.cs b/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs
index 1e5db3a..2e7324c 100644
--- a/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs
+++ b/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs
@@ -91,27 +91,16 @@
{
_config = config;
_roomGroup = GameApplication.Instance.RoomConfig[config.GroupName];
- Random = new SeedRandom();
- GD.Print("创建地牢生成器, 随机种子: " + Random.Seed);
//验证该组是否满足生成地牢的条件
- if (_roomGroup.InletList.Count == 0)
+ var result = DungeonManager.CheckDungeon(config.GroupName);
+ if (result.HasError)
{
- throw new Exception("当前组'" + config.GroupName + "'中没有可用的起始房间, 不能生成地牢!");
+ throw new Exception("当前组'" + config.GroupName + "'" + result.ErrorMessage + ", 不能生成地牢!");
}
- //没有指定房间
- if (config.HasDesignatedRoom)
- {
- if (_roomGroup.OutletList.Count == 0)
- {
- throw new Exception("当前组'" + config.GroupName + "'中没有可用的结束房间, 不能生成地牢!");
- }
- else if (_roomGroup.BattleList.Count == 0)
- {
- throw new Exception("当前组'" + config.GroupName + "'中没有可用的战斗房间, 不能生成地牢!");
- }
- }
-
+
+ Random = new SeedRandom();
+ GD.Print("创建地牢生成器, 随机种子: " + Random.Seed);
_roomGroup.InitWeight(Random);
}
diff --git a/DungeonShooting_Godot/src/game/manager/EditorManager.cs b/DungeonShooting_Godot/src/game/manager/EditorManager.cs
index a6638e9..2e4e2a2 100644
--- a/DungeonShooting_Godot/src/game/manager/EditorManager.cs
+++ b/DungeonShooting_Godot/src/game/manager/EditorManager.cs
@@ -21,7 +21,18 @@
///
/// 当前使用的预设
///
- public static RoomPreinstallInfo SelectPreinstall { get; private set; }
+ public static RoomPreinstallInfo SelectPreinstall
+ {
+ get
+ {
+ if (SelectPreinstallIndex < 0 || SelectPreinstallIndex >= SelectRoom.Preinstall.Count)
+ {
+ return null;
+ }
+
+ return SelectRoom.Preinstall[SelectPreinstallIndex];
+ }
+ }
///
/// 当前选中的波索引
@@ -31,7 +42,24 @@
///
/// 当前选中的波
///
- public static List SelectWave { get; private set; }
+ public static List SelectWave
+ {
+ get
+ {
+ var preinstall = SelectPreinstall;
+ if (preinstall == null)
+ {
+ return null;
+ }
+
+ if (SelectWaveIndex < 0 || SelectWaveIndex > preinstall.WaveList.Count)
+ {
+ return null;
+ }
+
+ return preinstall.WaveList[SelectWaveIndex];
+ }
+ }
///
/// 当前选中的标记
@@ -49,7 +77,7 @@
public static void SetSelectRoom(DungeonRoomSplit roomSplit)
{
- if (SelectRoom != roomSplit)
+ if (!ReferenceEquals(SelectRoom, roomSplit))
{
SelectRoom = roomSplit;
EventManager.EmitEvent(EventEnum.OnSelectRoom, SelectRoom);
@@ -63,30 +91,21 @@
if (SelectPreinstallIndex != -1)
{
SelectPreinstallIndex = -1;
- SelectPreinstall = null;
+ EventManager.EmitEvent(EventEnum.OnSelectPreinstall, SelectPreinstall);
+ }
+ }
+ else if (index < 0 || SelectRoom.Preinstall == null || index >= SelectRoom.Preinstall.Count)
+ {
+ if (SelectPreinstallIndex != -1)
+ {
+ SelectPreinstallIndex = -1;
EventManager.EmitEvent(EventEnum.OnSelectPreinstall, SelectPreinstall);
}
}
else if (SelectPreinstallIndex != index)
{
- if (index < 0 || SelectRoom.Preinstall == null || index >= SelectRoom.Preinstall.Count)
- {
- if (SelectPreinstallIndex != -1)
- {
- SelectPreinstallIndex = -1;
- SelectPreinstall = null;
- EventManager.EmitEvent(EventEnum.OnSelectPreinstall, SelectPreinstall);
- }
- }
- else
- {
- if (SelectPreinstallIndex != index)
- {
- SelectPreinstallIndex = index;
- SelectPreinstall = SelectRoom.Preinstall[index];
- EventManager.EmitEvent(EventEnum.OnSelectPreinstall, SelectPreinstall);
- }
- }
+ SelectPreinstallIndex = index;
+ EventManager.EmitEvent(EventEnum.OnSelectPreinstall, SelectPreinstall);
}
}
@@ -97,7 +116,6 @@
if (SelectWaveIndex != -1)
{
SelectWaveIndex = -1;
- SelectWave = null;
EventManager.EmitEvent(EventEnum.OnSelectWave, SelectWave);
}
}
@@ -108,7 +126,6 @@
if (SelectWaveIndex != -1)
{
SelectWaveIndex = -1;
- SelectWave = null;
EventManager.EmitEvent(EventEnum.OnSelectWave, SelectWave);
}
}
@@ -117,7 +134,6 @@
if (SelectWaveIndex != index)
{
SelectWaveIndex = index;
- SelectWave = SelectPreinstall.WaveList[index];
EventManager.EmitEvent(EventEnum.OnSelectWave, SelectWave);
}
}
diff --git a/DungeonShooting_Godot/src/game/room/DungeonCheckState.cs b/DungeonShooting_Godot/src/game/room/DungeonCheckState.cs
new file mode 100644
index 0000000..00647ad
--- /dev/null
+++ b/DungeonShooting_Godot/src/game/room/DungeonCheckState.cs
@@ -0,0 +1,21 @@
+
+///
+/// 地牢房间检查结果
+///
+public class DungeonCheckState
+{
+ ///
+ /// 是否存在异常
+ ///
+ public bool HasError;
+ ///
+ /// 异常消息
+ ///
+ public string ErrorMessage;
+
+ public DungeonCheckState(bool hasError, string errorMessage)
+ {
+ HasError = hasError;
+ ErrorMessage = errorMessage;
+ }
+}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/room/DungeonManager.cs b/DungeonShooting_Godot/src/game/room/DungeonManager.cs
index 4c87c4b..d53f94d 100644
--- a/DungeonShooting_Godot/src/game/room/DungeonManager.cs
+++ b/DungeonShooting_Godot/src/game/room/DungeonManager.cs
@@ -677,4 +677,32 @@
return "战斗房间";
}
+
+ ///
+ /// 检测地牢是否可以执行生成
+ ///
+ /// 组名称
+ public static DungeonCheckState CheckDungeon(string groupName)
+ {
+ if (GameApplication.Instance.RoomConfig.TryGetValue(groupName, out var group))
+ {
+ //验证该组是否满足生成地牢的条件
+ if (group.InletList.Count == 0)
+ {
+ return new DungeonCheckState(true, "当没有可用的起始房间!");
+ }
+ else if (group.OutletList.Count == 0)
+ {
+ return new DungeonCheckState(true, "没有可用的结束房间!");
+ }
+ else if (group.BattleList.Count == 0)
+ {
+ return new DungeonCheckState(true, "没有可用的战斗房间!");
+ }
+
+ return new DungeonCheckState(false, null);
+ }
+
+ return new DungeonCheckState(true, "未找到地牢组");
+ }
}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs
index 4e49eab..7435ea4 100644
--- a/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/main/MainPanel.cs
@@ -18,8 +18,18 @@
//点击开始游戏
private void OnStartGameClick()
{
- GameApplication.Instance.DungeonManager.LoadDungeon(GameApplication.Instance.DungeonConfig);
- HideUi();
+ //验证该组是否满足生成地牢的条件
+ var config = GameApplication.Instance.DungeonConfig;
+ var result = DungeonManager.CheckDungeon(config.GroupName);
+ if (result.HasError)
+ {
+ EditorWindowManager.ShowTips("警告", "当前组'" + config.GroupName + "'" + result.ErrorMessage + ", 不能生成地牢!");
+ }
+ else
+ {
+ GameApplication.Instance.DungeonManager.LoadDungeon(config);
+ HideUi();
+ }
}
//退出游戏
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs
index ed87a88..c5bc779 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs
@@ -42,12 +42,12 @@
public override void OnDestroyUi()
{
- //清除选中的预设
- EditorManager.SetSelectPreinstallIndex(-1);
- //清除选中的波
- EditorManager.SetSelectWaveIndex(-1);
//清除选中的标记
EditorManager.SetSelectMark(null);
+ //清除选中的波
+ EditorManager.SetSelectWaveIndex(-1);
+ //清除选中的预设
+ EditorManager.SetSelectPreinstallIndex(-1);
}
//点击播放按钮
@@ -62,9 +62,20 @@
return;
}
//保存数据
- S_TileMap.Instance.TriggerSave(RoomErrorType.None);
- //执行运行
- EditorPlayManager.Play(this);
+ S_TileMap.Instance.TriggerSave(RoomErrorType.None, () =>
+ {
+ var groupName = EditorManager.SelectDungeonGroup.GroupName;
+ var result = DungeonManager.CheckDungeon(groupName);
+ if (result.HasError)
+ {
+ EditorWindowManager.ShowTips("警告", "当前组'" + groupName + "'" + result.ErrorMessage + ", 不能生成地牢!");
+ }
+ else
+ {
+ //执行运行
+ EditorPlayManager.Play(this);
+ }
+ });
}
///
@@ -74,7 +85,9 @@
{
_title = "正在编辑:" + roomSplit.RoomInfo.RoomName;
S_Title.Instance.Text = _title;
- return S_TileMap.Instance.Load(roomSplit);
+ var loadMap = S_TileMap.Instance.Load(roomSplit);
+ S_MapEditorMapMark.Instance.RefreshPreinstallSelect();
+ return loadMap;
}
///
@@ -110,13 +123,13 @@
{
if (v)
{
- S_TileMap.Instance.TriggerSave(check.ErrorType);
+ S_TileMap.Instance.TriggerSave(check.ErrorType, null);
}
});
}
else
{
- S_TileMap.Instance.TriggerSave(check.ErrorType);
+ S_TileMap.Instance.TriggerSave(check.ErrorType, null);
}
}
@@ -139,9 +152,11 @@
{
if (v)
{
- S_TileMap.Instance.TriggerSave(check.ErrorType);
- //返回上一个Ui
- OpenPrevUi();
+ S_TileMap.Instance.TriggerSave(check.ErrorType, () =>
+ {
+ //返回上一个Ui
+ OpenPrevUi();
+ });
}
else
{
@@ -152,9 +167,11 @@
}
else //没有错误
{
- S_TileMap.Instance.TriggerSave(check.ErrorType);
- //返回上一个Ui
- OpenPrevUi();
+ S_TileMap.Instance.TriggerSave(check.ErrorType, () =>
+ {
+ //返回上一个Ui
+ OpenPrevUi();
+ });
}
}
else if (index == 1)
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
index 223e120..2bb7b95 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
@@ -450,7 +450,7 @@
///
/// 触发保存地图数据
///
- public void TriggerSave(RoomErrorType errorType)
+ public void TriggerSave(RoomErrorType errorType, Action finish)
{
GD.Print("保存地牢房间数据...");
//执行创建预览图流程
@@ -465,6 +465,10 @@
MapEditorPanel.SetTitleDirty(false);
//派发保存事件
EventManager.EmitEvent(EventEnum.OnEditorSave);
+ if (finish != null)
+ {
+ finish();
+ }
});
}
@@ -1023,6 +1027,9 @@
private bool _hasPreviewImage = false;
private Action _previewFinish;
private int _previewIndex = 0;
+ private Vector2I _tempViewportSize;
+ private Vector2 _tempMapPos;
+ private Vector2 _tempMapScale;
private bool _tempAutoFloorLayer;
private bool _tempCustomFloorLayer;
private bool _tempAutoMiddleLayer;
@@ -1047,6 +1054,28 @@
var textureRect = MapEditorPanel.S_MapView2.Instance;
textureRect.Texture = tex;
textureRect.Visible = true;
+ //调整绘制视图大小
+ _tempViewportSize = subViewport.Size;
+ subViewport.Size = new Vector2I(GameConfig.PreviewImageSize, GameConfig.PreviewImageSize);
+ //调整tileMap
+ _tempMapPos = Position;
+ _tempMapScale = Scale;
+
+ //中心点
+ var pos = new Vector2(GameConfig.PreviewImageSize / 2f, GameConfig.PreviewImageSize / 2f);
+ if (CurrRoomSize.X == 0 && CurrRoomSize.Y == 0) //聚焦原点
+ {
+ Position = pos;
+ }
+ else //聚焦地图中心点
+ {
+ var tempPos = new Vector2(CurrRoomSize.X + 2, CurrRoomSize.Y + 2);
+ var mapSize = tempPos * TileSet.TileSize;
+ var axis = Mathf.Max(mapSize.X, mapSize.Y);
+ var targetScale = GameConfig.PreviewImageSize / axis;
+ Scale = new Vector2(targetScale, targetScale);
+ Position = pos - (CurrRoomPosition + tempPos / 2f - Vector2.One) * TileSet.TileSize * targetScale;
+ }
//隐藏工具栏
MapEditorToolsPanel.Visible = false;
@@ -1078,6 +1107,7 @@
textureRect.Texture = null;
texture.Dispose();
textureRect.Visible = false;
+
//还原工具栏
MapEditorToolsPanel.Visible = true;
//还原层级显示
@@ -1096,6 +1126,13 @@
CurrRoomSplit.PreviewImage = ImageTexture.CreateFromImage(image);
MapProjectManager.SaveRoomPreviewImage(CurrRoomSplit, image);
+ //还原tileMap
+ Position = _tempMapPos;
+ Scale = _tempMapScale;
+
+ //还原绘制视图
+ subViewport.Size = _tempViewportSize;
+
_previewFinish();
_hasPreviewImage = false;
}
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
index 95fc118..c44cfc0 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorMapMark/MapEditorMapMarkPanel.cs
@@ -78,7 +78,6 @@
_eventFactory = EventManager.CreateEventFactory();
_eventFactory.AddEventListener(EventEnum.OnSelectMark, OnSelectMark);
- RefreshPreinstallSelect();
}
public override void OnDestroyUi()
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs
index c64614d..dcc07f0 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorProject/MapEditorProjectPanel.cs
@@ -96,9 +96,8 @@
///
/// 选择地图并打开地图编辑器
///
- public void SelectRoom(DungeonRoomSplit room)
+ public void OpenSelectRoom(DungeonRoomSplit room)
{
- EditorManager.SetSelectRoom(room);
HideUi();
//创建地牢Ui
var mapEditor = UiManager.Create_MapEditor();
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs b/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs
index 3d33d13..9d82d5a 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorProject/RoomButtonCell.cs
@@ -46,11 +46,12 @@
public override void OnDoubleClick()
{
//打开房间编辑器
- CellNode.UiPanel.SelectRoom(Data);
+ CellNode.UiPanel.OpenSelectRoom(Data);
}
public override void OnSelect()
{
+ EditorManager.SetSelectRoom(Data);
CellNode.L_SelectTexture.Instance.Visible = true;
}
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs
index b6e198c..12ea2dc 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorTools/MapEditorToolsPanel.cs
@@ -151,6 +151,12 @@
//选中波数
private void OnSelectWaveTool(object arg)
{
+ //选中编辑工具
+ if (_toolGrid.SelectIndex != _editToolIndex)
+ {
+ _toolGrid.Click(_editToolIndex);
+ }
+
var selectIndex = EditorManager.SelectWaveIndex;
var waveList = EditorManager.SelectPreinstall.WaveList;
for (var i = 0; i < waveList.Count; i++)
@@ -201,12 +207,6 @@
SetActiveMark(markTemplate.Instance);
}
}
-
- //选中编辑工具
- if (_toolGrid.SelectIndex != _editToolIndex)
- {
- _toolGrid.Click(_editToolIndex);
- }
}
}