diff --git a/Assets/Scripts/Editor/GON/StageEditor/StageMapCanvas.cs b/Assets/Scripts/Editor/GON/StageEditor/StageMapCanvas.cs index dac1011..e10071d 100644 --- a/Assets/Scripts/Editor/GON/StageEditor/StageMapCanvas.cs +++ b/Assets/Scripts/Editor/GON/StageEditor/StageMapCanvas.cs @@ -524,13 +524,14 @@ namespace Editor.GON.StageEditor } sync.TryGetWorldBounds(out var worldBounds); - var worldOrigin = worldBounds.size == Vector2Int.zero - ? Vector2Int.zero - : new Vector2Int(worldBounds.xMin, worldBounds.yMin); + var worldCenter = worldBounds.size == Vector2Int.zero + ? Vector2.zero + : new Vector2(worldBounds.xMin + worldBounds.width * 0.5f, + worldBounds.yMin + worldBounds.height * 0.5f); foreach (var tile in sync.worldTiles) { - DrawHatching(p, WorldTileRect(tile, worldOrigin, cellsPerWorldTile), + DrawHatching(p, WorldTileRect(tile, worldCenter, cellsPerWorldTile), StageEditorColors.WorldSyncFootprint); } @@ -541,7 +542,7 @@ namespace Editor.GON.StageEditor continue; } - var rect = WorldTileRect(endpoint.worldTile, worldOrigin, cellsPerWorldTile); + var rect = WorldTileRect(endpoint.worldTile, worldCenter, cellsPerWorldTile); switch (endpoint.kind) { case JEndpointKind.Anchor: @@ -973,10 +974,10 @@ namespace Editor.GON.StageEditor rect.height * cellPixels); } - private Rect WorldTileRect(JWorldTile tile, Vector2Int worldOrigin, float cellsPerWorldTile) + private Rect WorldTileRect(JWorldTile tile, Vector2 worldCenter, float cellsPerWorldTile) { - var localX = tile.x - worldOrigin.x; - var localY = tile.y - worldOrigin.y; + var localX = tile.x - worldCenter.x; + var localY = tile.y - worldCenter.y; return new Rect( pan.x + localX * cellsPerWorldTile * cellPixels, pan.y + localY * cellsPerWorldTile * cellPixels,