diff --git a/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json index 0f0d3d5..62aca9a 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json +++ b/DungeonShooting_Godot/resource/map/tileMaps/Test1/battle/Battle1/TileInfo.json @@ -1 +1 @@ -{"NavigationVertices":[{"X":154,"Y":-58},{"X":154,"Y":66},{"X":134,"Y":38},{"X":134,"Y":-30},{"X":42,"Y":-58},{"X":74,"Y":-30},{"X":74,"Y":38},{"X":38,"Y":66},{"X":38,"Y":50},{"X":154,"Y":-154},{"X":154,"Y":-110},{"X":42,"Y":-110},{"X":-10,"Y":-154},{"X":-10,"Y":-74},{"X":-10,"Y":50},{"X":-10,"Y":-14},{"X":-26,"Y":-14},{"X":-26,"Y":-74}],"NavigationPolygon":[[0,1,2,3],[4,0,3,5],[6,2,1,7,8],[9,10,11,12],[13,12,11,4],[8,14,15,4,5,6],[15,16,17,13,4]],"Floor":[-1,-1,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,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,-1,-3,0,3,0,-3,0,3,1,-3,0,3,2,-3,0,3,3,-3,0,3,4,-3,0,3,5,-3,0,3,5,-4,0,3,2,-5,0,3,1,-5,0,3,0,-5,0,3,-1,-5,0,3,-2,-5,0,3,-2,-4,0,3,-1,-4,0,3,0,-4,0,3,1,-4,0,3,2,-4,0,3,3,-4,0,3,4,-4,0,3,6,-4,0,3,7,-4,0,3,8,-4,0,3,8,-3,0,3,8,-2,0,3,7,-3,0,3,6,-3,0,3,8,-1,0,3,8,0,0,3,8,1,0,3,8,2,0,3,7,2,0,3,7,3,0,3,6,3,0,3,5,3,0,3,4,3,0,3,3,3,0,3,8,3,0,3,9,3,0,3,9,2,0,3,-2,-3,0,3,-2,-2,0,3,9,0,0,3,9,1,0,3,9,-1,0,3,9,-2,0,3,9,-3,0,3,9,-4,0,3,2,3,0,3,5,2,0,3,6,2,0,3,-1,-9,0,3,0,-9,0,3,1,-9,0,3,2,-9,0,3,0,-10,0,3,1,-10,0,3,2,-10,0,3,-1,-8,0,3,-1,-7,0,3,-1,-6,0,3,0,-6,0,3,0,-7,0,3,1,-7,0,3,1,-8,0,3,0,-8,0,3,1,-6,0,3,2,-7,0,3,2,-8,0,3,2,-6,0,3,3,-10,0,3,4,-10,0,3,5,-10,0,3,6,-10,0,3,7,-10,0,3,8,-10,0,3,9,-10,0,3,9,-9,0,3,8,-9,0,3,7,-9,0,3,6,-9,0,3,5,-9,0,3,4,-9,0,3,3,-9,0,3,3,-8,0,3,4,-8,0,3,5,-8,0,3,6,-8,0,3,7,-8,0,3,8,-8,0,3,9,-8,0,3,-1,-10,0,3],"Middle":[-2,-8,27,1,-2,-7,3,2,-2,-6,7,2,-1,-13,63,1,-1,-12,2,2,-1,-11,6,2,0,-13,63,1,0,-12,2,2,0,-11,6,2,1,-13,63,1,1,-12,2,2,1,-11,6,2,2,-13,63,1,2,-12,2,2,2,-11,6,2,3,-13,63,1,3,-12,2,2,3,-11,6,2,3,-7,48,1,3,-6,1,2,3,-5,5,2,4,-13,63,1,4,-12,2,2,4,-11,6,2,4,-7,56,1,4,-6,2,2,4,-5,6,2,5,-13,63,1,5,-12,2,2,5,-11,6,2,5,-7,56,1,5,-6,2,2,5,-5,6,2,5,-1,54,1,5,0,1,2,5,1,5,2,6,-13,63,1,6,-12,2,2,6,-11,6,2,6,-7,56,1,6,-6,2,2,6,-5,6,2,6,-1,63,1,6,0,2,2,6,1,6,2,7,-13,63,1,7,-12,2,2,7,-11,6,2,7,-7,56,1,7,-6,2,2,7,-5,6,2,7,-1,27,1,7,0,3,2,7,1,7,2,8,-13,63,1,8,-12,2,2,8,-11,6,2,8,-7,56,1,8,-6,2,2,8,-5,6,2,9,-13,63,1,9,-12,2,2,9,-11,6,2,9,-7,56,1,9,-6,2,2,9,-5,6,2],"Top":[-4,-9,511,1,-4,-8,511,1,-4,-7,511,1,-4,-6,511,1,-4,-5,511,1,-4,-4,511,1,-4,-3,511,1,-4,-2,511,1,-4,-1,511,1,-4,0,511,1,-3,-14,511,1,-3,-13,511,1,-3,-12,511,1,-3,-11,511,1,-3,-10,511,1,-3,-9,511,1,-3,-8,255,1,-3,-7,219,1,-3,-6,219,1,-3,-5,219,1,-3,-4,219,1,-3,-3,219,1,-3,-2,219,1,-3,-1,507,1,-3,0,511,1,-3,1,511,1,-3,2,511,1,-3,3,511,1,-3,4,511,1,-2,-14,511,1,-2,-13,255,1,-2,-12,219,1,-2,-11,219,1,-2,-10,219,1,-2,-9,219,1,-2,-1,216,1,-2,0,219,1,-2,1,219,1,-2,2,219,1,-2,3,507,1,-2,4,511,1,-1,-14,511,1,-1,3,504,1,-1,4,511,1,0,-14,511,1,0,3,504,1,0,4,511,1,0,5,511,1,1,-14,511,1,1,3,216,1,1,4,507,1,1,5,511,1,2,-14,511,1,2,4,504,1,2,5,511,1,3,-14,511,1,3,4,504,1,3,5,511,1,4,-14,511,1,4,4,504,1,4,5,511,1,5,-14,511,1,5,-2,432,1,5,4,504,1,5,5,511,1,6,-14,511,1,6,-2,504,1,6,4,504,1,6,5,511,1,7,-14,511,1,7,-2,216,1,7,4,504,1,7,5,511,1,8,-14,511,1,8,4,504,1,8,5,511,1,9,-14,511,1,9,4,504,1,9,5,511,1,10,-14,511,1,10,-13,447,1,10,-12,438,1,10,-11,438,1,10,-10,438,1,10,-9,438,1,10,-8,438,1,10,-7,446,1,10,-6,438,1,10,-5,438,1,10,-4,438,1,10,-3,438,1,10,-2,438,1,10,-1,438,1,10,0,438,1,10,1,438,1,10,2,438,1,10,3,438,1,10,4,510,1,10,5,511,1,11,-14,511,1,11,-13,511,1,11,-12,511,1,11,-11,511,1,11,-10,511,1,11,-9,511,1,11,-8,511,1,11,-7,511,1,11,-6,511,1,11,-5,511,1,11,-4,511,1,11,-3,511,1,11,-2,511,1,11,-1,511,1,11,0,511,1,11,1,511,1,11,2,511,1,11,3,511,1,11,4,511,1,11,5,511,1],"CustomFloor1":[0,-4,2,2,6,0,-3,2,5,8,-1,-3,2,1,8,-1,-4,2,1,6,1,-4,2,2,6,1,-3,2,2,7,2,-4,2,2,6,2,-3,2,2,7,3,-4,2,2,6,3,-3,2,2,7,1,-2,2,2,7,0,-2,2,1,7,1,-1,2,2,7,0,-1,2,1,7,1,0,2,2,7,0,0,2,1,7,1,1,2,2,8,0,1,2,1,8,2,0,2,2,7,2,1,2,2,8,3,0,2,2,7,3,1,2,5,8,2,-1,2,2,7,2,-2,2,2,7,3,-2,2,2,7,3,-1,2,2,7,4,-4,2,2,6,4,-3,2,4,8,5,-4,2,2,6,5,-3,2,2,8,6,-4,2,2,6,6,-3,2,2,8,7,-4,2,2,6,7,-3,2,2,8,8,-4,2,2,6,8,-3,2,5,8,9,-4,2,3,6,9,-3,2,3,7,9,-2,2,3,7,8,-2,2,1,7,9,-1,2,3,7,8,-1,2,1,7,9,0,2,3,7,8,0,2,1,7,9,1,2,3,7,8,1,2,1,7,9,2,2,3,7,8,2,2,5,9,9,3,2,3,8,8,3,2,2,8,7,3,2,2,8,7,2,2,2,6,6,3,2,2,8,6,2,2,2,6,5,3,2,2,8,5,2,2,2,6,4,3,2,2,8,4,2,2,4,9,3,3,2,1,8,3,2,2,1,7,4,-2,2,3,7,4,-1,2,3,7,4,0,2,3,7,4,1,2,3,7],"CustomFloor2":[],"CustomFloor3":[],"CustomMiddle1":[],"CustomMiddle2":[],"CustomTop":[]} \ No newline at end of file +{"NavigationVertices":[{"X":154,"Y":-58},{"X":154,"Y":74},{"X":134,"Y":38},{"X":134,"Y":-22},{"X":42,"Y":-58},{"X":74,"Y":-22},{"X":74,"Y":38},{"X":38,"Y":74},{"X":38,"Y":58},{"X":154,"Y":-154},{"X":154,"Y":-102},{"X":42,"Y":-102},{"X":-10,"Y":-154},{"X":-10,"Y":-74},{"X":-10,"Y":58},{"X":-10,"Y":-6},{"X":-26,"Y":-6},{"X":-26,"Y":-74}],"NavigationPolygon":[[0,1,2,3],[4,0,3,5],[6,2,1,7,8],[9,10,11,12],[13,12,11,4],[8,14,15,4,5,6],[15,16,17,13,4]],"Floor":[-1,-1,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,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,-1,-3,0,3,0,-3,0,3,1,-3,0,3,2,-3,0,3,3,-3,0,3,4,-3,0,3,5,-3,0,3,2,-5,0,3,1,-5,0,3,0,-5,0,3,-1,-5,0,3,-2,-5,0,3,-2,-4,0,3,-1,-4,0,3,0,-4,0,3,1,-4,0,3,2,-4,0,3,3,-4,0,3,8,-3,0,3,8,-2,0,3,7,-3,0,3,6,-3,0,3,8,-1,0,3,8,0,0,3,8,1,0,3,8,2,0,3,7,2,0,3,7,3,0,3,6,3,0,3,5,3,0,3,4,3,0,3,3,3,0,3,8,3,0,3,9,3,0,3,9,2,0,3,-2,-3,0,3,-2,-2,0,3,9,0,0,3,9,1,0,3,9,-1,0,3,9,-2,0,3,9,-3,0,3,2,3,0,3,5,2,0,3,6,2,0,3,-1,-9,0,3,0,-9,0,3,1,-9,0,3,2,-9,0,3,0,-10,0,3,1,-10,0,3,2,-10,0,3,-1,-8,0,3,-1,-7,0,3,-1,-6,0,3,0,-6,0,3,0,-7,0,3,1,-7,0,3,1,-8,0,3,0,-8,0,3,1,-6,0,3,2,-7,0,3,2,-8,0,3,2,-6,0,3,3,-10,0,3,4,-10,0,3,5,-10,0,3,6,-10,0,3,7,-10,0,3,8,-10,0,3,9,-10,0,3,9,-9,0,3,8,-9,0,3,7,-9,0,3,6,-9,0,3,5,-9,0,3,4,-9,0,3,3,-9,0,3,3,-8,0,3,4,-8,0,3,5,-8,0,3,6,-8,0,3,7,-8,0,3,8,-8,0,3,9,-8,0,3,-1,-10,0,3,7,-4,0,3,6,-4,0,3,5,-4,0,3,4,-4,0,3,8,-4,0,3,9,-4,0,3],"CustomFloor1":[0,-4,2,2,6,0,-3,2,5,8,-1,-3,2,1,8,-1,-4,2,1,6,1,-4,2,2,6,1,-3,2,2,7,2,-4,2,2,6,2,-3,2,2,7,3,-4,2,2,6,3,-3,2,2,7,1,-2,2,2,7,0,-2,2,1,7,1,-1,2,2,7,0,-1,2,1,7,1,0,2,2,7,0,0,2,1,7,1,1,2,2,8,0,1,2,1,8,2,0,2,2,7,2,1,2,2,8,3,0,2,2,7,3,1,2,5,8,2,-1,2,2,7,2,-2,2,2,7,3,-2,2,2,7,3,-1,2,2,7,4,-4,2,2,6,4,-3,2,4,8,5,-4,2,2,6,5,-3,2,2,8,6,-4,2,2,6,6,-3,2,2,8,7,-4,2,2,6,7,-3,2,2,8,8,-4,2,2,6,8,-3,2,5,8,9,-4,2,3,6,9,-3,2,3,7,9,-2,2,3,7,8,-2,2,1,7,9,-1,2,3,7,8,-1,2,1,7,9,0,2,3,7,8,0,2,1,7,9,1,2,3,7,8,1,2,1,7,9,2,2,3,7,8,2,2,5,9,9,3,2,3,8,8,3,2,2,8,7,3,2,2,8,7,2,2,2,6,6,3,2,2,8,6,2,2,2,6,5,3,2,2,8,5,2,2,2,6,4,3,2,2,8,4,2,2,4,9,3,3,2,1,8,3,2,2,1,7,4,-2,2,3,7,4,-1,2,3,7,4,0,2,3,7,4,1,2,3,7],"CustomFloor2":[],"CustomFloor3":[],"CustomMiddle1":[],"CustomMiddle2":[],"CustomTop":[]} \ 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 505a8ab..0867995 100644 --- a/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs +++ b/DungeonShooting_Godot/src/framework/map/DungeonGenerator.cs @@ -674,10 +674,10 @@ roomInfo.Doors.Add(roomDoor); nextRoomInfo.Doors.Add(nextRoomDoor); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell);; - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell);; + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } } @@ -749,10 +749,10 @@ roomInfo.Doors.Add(roomDoor); nextRoomInfo.Doors.Add(nextRoomDoor); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell);; - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell);; + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } } @@ -1032,10 +1032,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } @@ -1075,10 +1075,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } @@ -1119,10 +1119,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } @@ -1163,10 +1163,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } @@ -1207,10 +1207,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } @@ -1251,10 +1251,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } @@ -1295,10 +1295,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } @@ -1339,10 +1339,10 @@ floorCell.Add(new Vector2I(cross.X + 1, cross.Y + 2)); floorCell.Add(new Vector2I(cross.X + 2, cross.Y + 2)); - roomDoor.FloorCell = floorCell; - nextRoomDoor.FloorCell = floorCell; - roomDoor.FloorRect = Utils.CalcRect(floorCell); - nextRoomDoor.FloorRect = roomDoor.FloorRect; + roomDoor.AisleFloorCell = floorCell; + nextRoomDoor.AisleFloorCell = floorCell; + roomDoor.AisleFloorRect = Utils.CalcRect(floorCell); + nextRoomDoor.AisleFloorRect = roomDoor.AisleFloorRect; return true; } diff --git a/DungeonShooting_Godot/src/framework/map/DungeonTileMap.cs b/DungeonShooting_Godot/src/framework/map/DungeonTileMap.cs index 5bf491c..1b59921 100644 --- a/DungeonShooting_Godot/src/framework/map/DungeonTileMap.cs +++ b/DungeonShooting_Godot/src/framework/map/DungeonTileMap.cs @@ -82,10 +82,8 @@ SetCustomLayerDataFromList(MapLayer.CustomFloorLayer1, roomInfo, tileInfo.CustomFloor1, rectPos); SetCustomLayerDataFromList(MapLayer.CustomFloorLayer2, roomInfo, tileInfo.CustomFloor2, rectPos); SetCustomLayerDataFromList(MapLayer.CustomFloorLayer3, roomInfo, tileInfo.CustomFloor3, rectPos); - //SetAutoLayerDataFromList(MapLayer.AutoMiddleLayer, config.SourceId, roomInfo, tileInfo.Middle, rectPos, terrainInfo); SetCustomLayerDataFromList(MapLayer.CustomMiddleLayer1, roomInfo, tileInfo.CustomMiddle1, rectPos); SetCustomLayerDataFromList(MapLayer.CustomMiddleLayer2, roomInfo, tileInfo.CustomMiddle2, rectPos); - //SetAutoLayerDataFromList(MapLayer.AutoTopLayer, config.SourceId, roomInfo, tileInfo.Top, rectPos, terrainInfo); SetCustomLayerDataFromList(MapLayer.CustomTopLayer, roomInfo, tileInfo.CustomTop, rectPos); //寻找可用传送点 @@ -146,19 +144,19 @@ } //铺过道 - if (doorInfo.FloorCell != null) + if (doorInfo.AisleFloorCell != null) { yield return 0; //创建image, 这里留两个像素宽高用于描边 - var aisleImage = Image.Create(doorInfo.FloorRect.Size.X, doorInfo.FloorRect.Size.Y, false, Image.Format.Rgba8); + var aisleImage = Image.Create(doorInfo.AisleFloorRect.Size.X, doorInfo.AisleFloorRect.Size.Y, false, Image.Format.Rgba8); //image.Fill(new Color(0, 1, 0, 0.2f)); //填充像素点 - foreach (var p in doorInfo.FloorCell) + foreach (var p in doorInfo.AisleFloorCell) { _tileRoot.SetCell(MapLayer.AutoFloorLayer, p, config.Floor.SourceId, config.Floor.AutoTileCoords); //_tileRoot.SetCell(MapLayer.CustomTopLayer, p, config.Auto_000_010_000.SourceId, config.Auto_000_010_000.AutoTileCoords); - aisleImage.SetPixel(p.X - doorInfo.FloorRect.Position.X, p.Y - doorInfo.FloorRect.Position.Y, new Color(1, 1, 1, 0.5882353F)); + aisleImage.SetPixel(p.X - doorInfo.AisleFloorRect.Position.X, p.Y - doorInfo.AisleFloorRect.Position.Y, new Color(1, 1, 1, 0.5882353F)); } //创建texture var aisleImageTexture = ImageTexture.CreateFromImage(aisleImage); diff --git a/DungeonShooting_Godot/src/framework/map/room/RoomDoorInfo.cs b/DungeonShooting_Godot/src/framework/map/room/RoomDoorInfo.cs index 189b004..a03378a 100644 --- a/DungeonShooting_Godot/src/framework/map/room/RoomDoorInfo.cs +++ b/DungeonShooting_Godot/src/framework/map/room/RoomDoorInfo.cs @@ -43,20 +43,20 @@ /// /// 地板所占的地板格子, 单位: 格, 使用时不需要加上 OriginPosition /// - public HashSet FloorCell; + public HashSet AisleFloorCell; /// /// 地板所占的矩形, 单位: 格, 使用时不需要加上 OriginPosition /// - public Rect2I FloorRect; + public Rect2I AisleFloorRect; /// - /// 与下一道门是否有交叉点 (弃用) + /// 与下一道门是否有交叉点 /// public bool HasCross; /// - /// 与下一道门的交叉点, 单位: 格 (弃用) + /// 与下一道门的交叉点, 单位: 格 /// public Vector2I Cross; diff --git a/DungeonShooting_Godot/src/game/room/DungeonManager.cs b/DungeonShooting_Godot/src/game/room/DungeonManager.cs index 11b649d..db3d849 100644 --- a/DungeonShooting_Godot/src/game/room/DungeonManager.cs +++ b/DungeonShooting_Godot/src/game/room/DungeonManager.cs @@ -582,11 +582,11 @@ if (doorInfo.Direction == DoorDirection.N || doorInfo.Direction == DoorDirection.S || doorInfo.ConnectDoor.Direction == DoorDirection.N || doorInfo.ConnectDoor.Direction == DoorDirection.S) { - aisleSprite.Position = doorInfo.FloorRect.Position + new Vector2I(0, 1); + aisleSprite.Position = doorInfo.AisleFloorRect.Position + new Vector2I(0, 1); } else { - aisleSprite.Position = doorInfo.FloorRect.Position; + aisleSprite.Position = doorInfo.AisleFloorRect.Position; } // var aisleSpriteMaterial = ResourceManager.Load(ResourcePath.resource_material_Outline2_tres, false); diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs index 02352cf..1c6b08c 100644 --- a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs +++ b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs @@ -801,30 +801,6 @@ SetCustomLayerDataFromList(MapLayer.CustomMiddleLayer1, tileInfo.CustomMiddle1); SetCustomLayerDataFromList(MapLayer.CustomMiddleLayer2, tileInfo.CustomMiddle2); SetCustomLayerDataFromList(MapLayer.CustomTopLayer, tileInfo.CustomTop); - - //如果有图块错误, 则找出错误的点位 - if (roomSplit.ErrorType == RoomErrorType.TileError) - { - RunCheckHandler(); - } - else - { - //导航网格 - if (tileInfo.NavigationPolygon != null && tileInfo.NavigationVertices != null) - { - var polygon = _editorTileMap.L_NavigationRegion.Instance.NavigationPolygon; - polygon.Vertices = tileInfo.NavigationVertices.Select(v => v.AsVector2()).ToArray(); - foreach (var p in tileInfo.NavigationPolygon) - { - polygon.AddPolygon(p); - } - - OnBakeFinished(); - } - } - //聚焦 - //MapEditorPanel.CallDelay(0.1f, OnClickCenterTool); - //CallDeferred(nameof(OnClickCenterTool), null); //加载门编辑区域 foreach (var doorAreaInfo in CurrDoorConfigs) @@ -832,6 +808,9 @@ MapEditorToolsPanel.CreateDoorTool(doorAreaInfo); } + //执行生成墙壁和导航网格 + RunCheckHandler(); + //聚焦 (需要延时一帧调用) this.CallDelayInNode(0, () => OnClickCenterTool(null)); return true;