Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }