fix stage world sync underlay origin
This commit is contained in:
parent
28147da443
commit
77bc1dff51
@ -523,9 +523,15 @@ namespace Editor.GON.StageEditor
|
||||
return;
|
||||
}
|
||||
|
||||
sync.TryGetWorldBounds(out var worldBounds);
|
||||
var worldOrigin = worldBounds.size == Vector2Int.zero
|
||||
? Vector2Int.zero
|
||||
: new Vector2Int(worldBounds.xMin, worldBounds.yMin);
|
||||
|
||||
foreach (var tile in sync.worldTiles)
|
||||
{
|
||||
DrawHatching(p, WorldTileRect(tile, cellsPerWorldTile), StageEditorColors.WorldSyncFootprint);
|
||||
DrawHatching(p, WorldTileRect(tile, worldOrigin, cellsPerWorldTile),
|
||||
StageEditorColors.WorldSyncFootprint);
|
||||
}
|
||||
|
||||
foreach (var endpoint in sync.expectedEndpoints)
|
||||
@ -535,7 +541,7 @@ namespace Editor.GON.StageEditor
|
||||
continue;
|
||||
}
|
||||
|
||||
var rect = WorldTileRect(endpoint.worldTile, cellsPerWorldTile);
|
||||
var rect = WorldTileRect(endpoint.worldTile, worldOrigin, cellsPerWorldTile);
|
||||
switch (endpoint.kind)
|
||||
{
|
||||
case JEndpointKind.Anchor:
|
||||
@ -967,11 +973,13 @@ namespace Editor.GON.StageEditor
|
||||
rect.height * cellPixels);
|
||||
}
|
||||
|
||||
private Rect WorldTileRect(JWorldTile tile, float cellsPerWorldTile)
|
||||
private Rect WorldTileRect(JWorldTile tile, Vector2Int worldOrigin, float cellsPerWorldTile)
|
||||
{
|
||||
var localX = tile.x - worldOrigin.x;
|
||||
var localY = tile.y - worldOrigin.y;
|
||||
return new Rect(
|
||||
pan.x + tile.x * cellsPerWorldTile * cellPixels,
|
||||
pan.y + tile.y * cellsPerWorldTile * cellPixels,
|
||||
pan.x + localX * cellsPerWorldTile * cellPixels,
|
||||
pan.y + localY * cellsPerWorldTile * cellPixels,
|
||||
cellsPerWorldTile * cellPixels,
|
||||
cellsPerWorldTile * cellPixels);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user