public void ConnectTileToTop(Tile tile) { if (TopConnectionPoint == null) { return; } TileOnTop = tile; tile.TileOnBottom = this; var diffX = (int)(TopConnectionPoint.Value.X - tile.BottomConnectionPoint.Value.X); tile.MoveOffsetY((int)TopConnectionPoint.Value.Y + OffsetY - tile.Height); tile.MoveOffsetX(diffX + OffsetX, this); }
public void ConnectTileToLeft(Tile tile) { if (LeftConnectionPoint == null) { return; } TileOnLeft = tile; tile.TileOnRight = this; var diffY = (int)(LeftConnectionPoint.Value.Y - tile.RightConnectionPoint.Value.Y); tile.MoveOffsetX((int)LeftConnectionPoint.Value.X + OffsetX - tile.Width, this); tile.MoveOffsetY(diffY + OffsetY, this); }
public void ConnectTileToBottom(Tile tile) { if (BottomConnectionPoint == null) { return; } TileOnBottom = tile; tile.TileOnTop = this; var diffX = (int)(BottomConnectionPoint.Value.X - tile.TopConnectionPoint.Value.X); tile.MoveOffsetY((int)BottomConnectionPoint.Value.Y + OffsetY); tile.MoveOffsetX(diffX + OffsetX); }
public void ConnectTileToRight(Tile tile) { if (RightConnectionPoint == null) { return; } TileOnRight = tile; tile.TileOnLeft = this; var diffY = (int)(RightConnectionPoint.Value.Y - tile.LeftConnectionPoint.Value.Y); tile.MoveOffsetX((int)RightConnectionPoint.Value.X + OffsetX); tile.MoveOffsetY(diffY + OffsetY); }