mirror of
https://github.com/osukey/osukey.git
synced 2025-08-04 07:06:35 +09:00
Extract common implementation of updating drawable position from screen space pos
This commit is contained in:
@ -47,7 +47,8 @@ namespace osu.Game.Skinning.Editor
|
||||
{
|
||||
var drawableItem = (Drawable)b.Item;
|
||||
|
||||
drawableItem.Position = drawableItem.Parent.ToLocalSpace(RotatePointAroundOrigin(b.ScreenSpaceSelectionPoint, referenceOrigin.Value, angle)) - drawableItem.AnchorPosition;
|
||||
var rotatedPosition = RotatePointAroundOrigin(b.ScreenSpaceSelectionPoint, referenceOrigin.Value, angle);
|
||||
updateDrawablePosition(drawableItem, rotatedPosition);
|
||||
drawableItem.Rotation += angle;
|
||||
}
|
||||
}
|
||||
@ -116,7 +117,7 @@ namespace osu.Game.Skinning.Editor
|
||||
adjustedRect.TopLeft.Y + adjustedRect.Height * relativePositionInOriginal.Y
|
||||
);
|
||||
|
||||
drawableItem.Position = drawableItem.Parent.ToLocalSpace(newPositionInAdjusted) - drawableItem.AnchorPosition;
|
||||
updateDrawablePosition(drawableItem, newPositionInAdjusted);
|
||||
drawableItem.Scale *= scaledDelta;
|
||||
}
|
||||
|
||||
@ -131,8 +132,9 @@ namespace osu.Game.Skinning.Editor
|
||||
{
|
||||
var drawableItem = (Drawable)b.Item;
|
||||
|
||||
drawableItem.Position =
|
||||
drawableItem.Parent.ToLocalSpace(GetFlippedPosition(direction, selectionQuad, b.ScreenSpaceSelectionPoint)) - drawableItem.AnchorPosition;
|
||||
var flippedPosition = GetFlippedPosition(direction, selectionQuad, b.ScreenSpaceSelectionPoint);
|
||||
|
||||
updateDrawablePosition(drawableItem, flippedPosition);
|
||||
|
||||
drawableItem.Scale *= new Vector2(
|
||||
direction == Direction.Horizontal ? -1 : 1,
|
||||
@ -207,6 +209,12 @@ namespace osu.Game.Skinning.Editor
|
||||
}
|
||||
}
|
||||
|
||||
private static void updateDrawablePosition(Drawable drawable, Vector2 screenSpacePosition)
|
||||
{
|
||||
drawable.Position =
|
||||
drawable.Parent.ToLocalSpace(screenSpacePosition) - drawable.AnchorPosition;
|
||||
}
|
||||
|
||||
private void applyOrigin(Anchor anchor)
|
||||
{
|
||||
foreach (var item in SelectedItems)
|
||||
|
Reference in New Issue
Block a user