center world sync underlay on stage origin

This commit is contained in:
Nilton Constantino 2026-06-21 08:57:09 +01:00
parent 5886cc32d9
commit e889746fc4
No known key found for this signature in database

View File

@ -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,