diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png index 08c0866..7b54f23 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png Binary files differ diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json index 537291c..484c844 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json @@ -1 +1 @@ -{"Position":{"X":-4,"Y":-5},"Size":{"X":14,"Y":13},"DoorAreaInfos":[{"Direction":0,"Start":32,"End":96},{"Direction":2,"Start":16,"End":160},{"Direction":1,"Start":48,"End":112},{"Direction":3,"Start":48,"End":160}],"GroupName":"TestGroup2","RoomType":1,"RoomName":"Start1","Weight":100,"Remark":""} \ No newline at end of file +{"Position":{"X":-4,"Y":-6},"Size":{"X":14,"Y":14},"DoorAreaInfos":[{"Direction":0,"Start":80,"End":144},{"Direction":2,"Start":16,"End":160},{"Direction":1,"Start":96,"End":160},{"Direction":3,"Start":48,"End":160}],"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 index ff9bf33..0b84828 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json +++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json @@ -1 +1 @@ -{"NavigationList":[],"Floor":[0,-2,0,0,4,0,-1,0,0,4,0,0,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,5,-3,0,0,4,5,-2,0,0,4,5,-1,0,0,4,5,0,0,0,4,3,-3,0,0,4,4,-2,0,0,4,4,-1,0,0,4,4,0,0,0,4,3,0,0,0,4,2,0,0,0,4,1,0,0,0,4,3,-2,0,0,4,3,-1,0,0,4,1,-2,0,0,4,2,-1,0,0,4,1,-1,0,0,4,1,2,0,0,4,2,2,0,0,4,4,2,0,0,4,5,2,0,0,4,6,2,0,0,4,7,2,0,0,4,3,2,0,0,4,0,2,0,0,4,-1,2,0,0,4,-2,2,0,0,4,-3,2,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,6,4,0,0,4,7,4,0,0,4,7,3,0,0,4,6,3,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,-2,4,0,0,4,-1,4,0,0,4,7,5,0,0,4,6,5,0,0,4,5,5,0,0,4,4,5,0,0,4,3,5,0,0,4,2,5,0,0,4,1,5,0,0,4,0,5,0,0,4,-1,5,0,0,4,-2,5,0,0,4,-2,6,0,0,4,-1,6,0,0,4,0,6,0,0,4,1,6,0,0,4,2,6,0,0,4,3,6,0,0,4,4,6,0,0,4,5,6,0,0,4,6,6,0,0,4,6,-3,0,0,4,6,-2,0,0,4,6,-1,0,0,4,6,0,0,0,4,6,1,0,0,4,2,-2,0,0,4,7,-2,0,0,4,7,-1,0,0,4,7,0,0,0,4,7,1,0,0,4,8,1,0,0,4,8,0,0,0,4,8,-1,0,0,4,8,-2,0,0,4,7,-3,0,0,4,4,-3,0,0,4,-1,1,0,0,4,-2,1,0,0,4,-3,1,0,0,4,-3,0,0,0,4,-2,0,0,0,4,-1,0,0,0,4,-1,-1,0,0,4,-2,-1,0,0,4,-3,-1,0,0,4,-1,-2,0,0,4,8,-3,0,0,4],"Middle":[],"Top":[-4,-5,0,9,2,-4,-4,0,9,2,-4,-3,0,6,2,-4,-2,0,11,2,-4,-1,0,11,2,-4,0,0,11,2,-4,1,0,11,2,-4,2,0,11,2,-4,3,0,6,1,-4,4,0,9,2,-4,5,0,9,2,-4,6,0,9,2,-4,7,0,9,2,-3,-5,0,9,2,-3,-4,0,9,2,-3,-3,0,9,3,-3,-2,0,2,4,-3,3,0,11,0,-3,4,0,11,2,-3,5,0,11,2,-3,6,0,11,2,-3,7,0,6,1,-2,-5,0,9,2,-2,-4,0,6,2,-2,-3,0,11,3,-2,-2,0,3,4,-2,7,0,10,0,-1,-5,0,9,2,-1,-4,0,9,3,-1,-3,0,2,4,-1,7,0,10,0,0,-5,0,9,2,0,-4,0,9,3,0,-3,0,2,4,0,7,0,10,0,1,-5,0,9,2,1,-4,0,9,3,1,-3,0,2,4,1,7,0,10,0,2,-5,0,6,2,2,-4,0,11,3,2,-3,0,3,4,2,7,0,10,0,3,-5,0,9,3,3,-4,0,2,4,3,7,0,10,0,4,-5,0,9,3,4,-4,0,2,4,4,7,0,10,0,5,-5,0,9,3,5,-4,0,2,4,5,7,0,10,0,6,-5,0,9,3,6,-4,0,2,4,6,7,0,10,0,7,-5,0,9,3,7,-4,0,2,4,7,6,0,8,0,7,7,0,5,1,8,-5,0,9,3,8,-4,0,2,4,8,2,0,8,0,8,3,0,8,1,8,4,0,8,1,8,5,0,8,1,8,6,0,5,1,8,7,0,9,2,9,-5,0,5,2,9,-4,0,8,1,9,-3,0,8,1,9,-2,0,8,1,9,-1,0,8,1,9,0,0,8,1,9,1,0,8,1,9,2,0,5,1,9,3,0,9,2,9,4,0,9,2,9,5,0,9,2,9,6,0,9,2,9,7,0,9,2]} \ No newline at end of file +{"NavigationList":[],"Floor":[0,-2,0,0,4,0,-1,0,0,4,0,0,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,5,-3,0,0,4,5,-2,0,0,4,5,-1,0,0,4,5,0,0,0,4,3,-3,0,0,4,4,-2,0,0,4,4,-1,0,0,4,4,0,0,0,4,3,0,0,0,4,2,0,0,0,4,1,0,0,0,4,3,-2,0,0,4,3,-1,0,0,4,1,-2,0,0,4,2,-1,0,0,4,1,-1,0,0,4,1,2,0,0,4,2,2,0,0,4,5,2,0,0,4,6,2,0,0,4,7,2,0,0,4,3,2,0,0,4,0,2,0,0,4,-1,2,0,0,4,-2,2,0,0,4,-3,2,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,6,4,0,0,4,7,4,0,0,4,7,3,0,0,4,6,3,0,0,4,5,3,0,0,4,3,3,0,0,4,2,3,0,0,4,1,3,0,0,4,-2,4,0,0,4,-1,4,0,0,4,7,5,0,0,4,6,5,0,0,4,5,5,0,0,4,4,5,0,0,4,3,5,0,0,4,2,5,0,0,4,1,5,0,0,4,0,5,0,0,4,-1,5,0,0,4,-2,5,0,0,4,-2,6,0,0,4,-1,6,0,0,4,0,6,0,0,4,1,6,0,0,4,2,6,0,0,4,3,6,0,0,4,4,6,0,0,4,5,6,0,0,4,6,6,0,0,4,6,-3,0,0,4,6,-2,0,0,4,6,-1,0,0,4,6,0,0,0,4,6,1,0,0,4,2,-2,0,0,4,7,-2,0,0,4,7,-1,0,0,4,7,0,0,0,4,7,1,0,0,4,8,1,0,0,4,8,0,0,0,4,8,-1,0,0,4,8,-2,0,0,4,7,-3,0,0,4,4,-3,0,0,4,-1,1,0,0,4,-2,1,0,0,4,-3,1,0,0,4,-3,0,0,0,4,-2,0,0,0,4,-1,0,0,0,4,-1,-1,0,0,4,-2,-1,0,0,4,-3,-1,0,0,4,-1,-2,0,0,4,8,-3,0,0,4,2,-3,0,0,4,1,-3,0,0,4,0,-3,0,0,4,-1,-3,0,0,4,-1,-4,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,6,-4,0,0,4,7,-4,0,0,4,8,-4,0,0,4,-2,-4,0,0,4,4,2,0,0,4,4,3,0,0,4],"Middle":[],"Top":[-4,-6,0,9,2,-4,-5,0,9,2,-4,-4,0,9,2,-4,-3,0,6,2,-4,-2,0,11,2,-4,-1,0,11,2,-4,0,0,11,2,-4,1,0,11,2,-4,2,0,11,2,-4,3,0,6,1,-4,4,0,9,2,-4,5,0,9,2,-4,6,0,9,2,-4,7,0,9,2,-3,-6,0,6,2,-3,-5,0,11,2,-3,-4,0,11,2,-3,-3,0,6,3,-3,-2,0,2,4,-3,3,0,11,0,-3,4,0,11,2,-3,5,0,11,2,-3,6,0,11,2,-3,7,0,6,1,-2,-6,0,9,3,-2,-5,0,2,4,-2,-3,0,3,3,-2,-2,0,3,4,-2,7,0,10,0,-1,-6,0,9,3,-1,-5,0,2,4,-1,7,0,10,0,0,-6,0,9,3,0,-5,0,2,4,0,7,0,10,0,1,-6,0,9,3,1,-5,0,2,4,1,7,0,10,0,2,-6,0,9,3,2,-5,0,2,4,2,7,0,10,0,3,-6,0,9,3,3,-5,0,2,4,3,7,0,10,0,4,-6,0,9,3,4,-5,0,2,4,4,7,0,10,0,5,-6,0,9,3,5,-5,0,2,4,5,7,0,10,0,6,-6,0,9,3,6,-5,0,2,4,6,7,0,10,0,7,-6,0,9,3,7,-5,0,2,4,7,6,0,8,0,7,7,0,5,1,8,-6,0,9,3,8,-5,0,2,4,8,2,0,8,0,8,3,0,8,1,8,4,0,8,1,8,5,0,8,1,8,6,0,5,1,8,7,0,9,2,9,-6,0,5,2,9,-5,0,8,1,9,-4,0,8,1,9,-3,0,8,1,9,-2,0,8,1,9,-1,0,8,1,9,0,0,8,1,9,1,0,8,1,9,2,0,5,1,9,3,0,9,2,9,4,0,9,2,9,5,0,9,2,9,6,0,9,2,9,7,0,9,2]} \ No newline at end of file diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs index 43823a9..28cd8c7 100644 --- a/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs +++ b/DungeonShooting_Godot/src/game/ui/mapEditor/MapEditorPanel.cs @@ -217,6 +217,10 @@ { return new CheckResult(true, RoomErrorType.Empty); } + else if (editorTileMap.HasTerrainError) //地图绘制错误 + { + return new CheckResult(true, RoomErrorType.TileError); + } if (editorTileMap.CurrDoorConfigs.Count > 0) { diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs index 9a8793c..c8223a6 100644 --- a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs +++ b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs @@ -1024,8 +1024,17 @@ //存入本地 var roomInfo = CurrRoomSplit.RoomInfo; - roomInfo.Size = new SerializeVector2(CurrRoomSize); - roomInfo.Position = new SerializeVector2(CurrRoomPosition); + if (!HasTerrainError) //没有绘制错误 + { + roomInfo.Size = new SerializeVector2(CurrRoomSize); + roomInfo.Position = new SerializeVector2(CurrRoomPosition); + } + else + { + roomInfo.Position = new SerializeVector2(CurrRoomPosition - Vector2I.One); + roomInfo.Size = new SerializeVector2(CurrRoomSize + new Vector2I(2, 2)); + } + roomInfo.DoorAreaInfos.Clear(); roomInfo.DoorAreaInfos.AddRange(CurrDoorConfigs); roomInfo.ClearCompletionDoorArea();