fix stage world sync underlay origin
This commit is contained in:
parent
28147da443
commit
77bc1dff51
@ -523,9 +523,15 @@ namespace Editor.GON.StageEditor
|
|||||||
return;
|
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)
|
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)
|
foreach (var endpoint in sync.expectedEndpoints)
|
||||||
@ -535,7 +541,7 @@ namespace Editor.GON.StageEditor
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var rect = WorldTileRect(endpoint.worldTile, cellsPerWorldTile);
|
var rect = WorldTileRect(endpoint.worldTile, worldOrigin, cellsPerWorldTile);
|
||||||
switch (endpoint.kind)
|
switch (endpoint.kind)
|
||||||
{
|
{
|
||||||
case JEndpointKind.Anchor:
|
case JEndpointKind.Anchor:
|
||||||
@ -967,11 +973,13 @@ namespace Editor.GON.StageEditor
|
|||||||
rect.height * cellPixels);
|
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(
|
return new Rect(
|
||||||
pan.x + tile.x * cellsPerWorldTile * cellPixels,
|
pan.x + localX * cellsPerWorldTile * cellPixels,
|
||||||
pan.y + tile.y * cellsPerWorldTile * cellPixels,
|
pan.y + localY * cellsPerWorldTile * cellPixels,
|
||||||
cellsPerWorldTile * cellPixels,
|
cellsPerWorldTile * cellPixels,
|
||||||
cellsPerWorldTile * cellPixels);
|
cellsPerWorldTile * cellPixels);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user