move fix
This commit is contained in:
parent
22d5d72113
commit
4affbb6796
|
@ -62,6 +62,8 @@ namespace HeavenStudio.Editor.Track
|
|||
|
||||
private double initMoveX = 0;
|
||||
private float initMoveY = 0;
|
||||
private double selectedMinInitMoveX, selectedMaxInitMoveX;
|
||||
private float selectedMinInitMoveY, selectedMaxInitMoveY;
|
||||
|
||||
private bool movedEntity = false;
|
||||
private double lastBeat = 0;
|
||||
|
@ -236,15 +238,13 @@ namespace HeavenStudio.Editor.Track
|
|||
|
||||
if (moving)
|
||||
{
|
||||
// double minBeat = Selections.instance.eventsSelected.Min(marker => marker.entity.beat);
|
||||
// double maxBeat = Selections.instance.eventsSelected.Max(marker => marker.entity.beat);
|
||||
// double minTrack = Selections.instance.eventsSelected.Min(marker => marker.entity["track"]);
|
||||
// double maxTrack = Selections.instance.eventsSelected.Max(marker => marker.entity["track"]);
|
||||
// Debug.Log($"{minBeat} {maxBeat} {minTrack} {maxTrack} {Timeline.instance.MousePos2BeatSnap}");
|
||||
foreach (var marker in Selections.instance.eventsSelected)
|
||||
{
|
||||
marker.entity.beat = System.Math.Max(Timeline.instance.MousePos2BeatSnap - marker.initMoveX, 0);
|
||||
marker.entity["track"] = Mathf.Clamp(Timeline.instance.MousePos2Layer - marker.initMoveY, 0, Timeline.instance.LayerCount - 1);
|
||||
var nextBeat = System.Math.Max(Timeline.instance.MousePos2BeatSnap, 0 + selectedMaxInitMoveX) - marker.initMoveX;
|
||||
var nextTrack = Mathf.Clamp(Timeline.instance.MousePos2Layer, 0 + selectedMaxInitMoveY, Timeline.instance.LayerCount - 1 + selectedMinInitMoveY) - marker.initMoveY;
|
||||
marker.entity.beat = System.Math.Max(nextBeat, 0);
|
||||
marker.entity["track"] = Mathf.Clamp(nextTrack, 0, Timeline.instance.LayerCount - 1);
|
||||
marker.SetColor((int)entity["track"]);
|
||||
marker.SetWidthHeight();
|
||||
}
|
||||
|
@ -298,6 +298,10 @@ namespace HeavenStudio.Editor.Track
|
|||
marker.initMoveX = Timeline.instance.MousePos2BeatSnap - marker.entity.beat;
|
||||
marker.initMoveY = Timeline.instance.MousePos2Layer - (int)marker.entity["track"];
|
||||
}
|
||||
selectedMinInitMoveX = Selections.instance.eventsSelected.Min(marker => marker.initMoveX);
|
||||
selectedMaxInitMoveX = Selections.instance.eventsSelected.Max(marker => marker.initMoveX);
|
||||
selectedMinInitMoveY = Selections.instance.eventsSelected.Min(marker => marker.initMoveY);
|
||||
selectedMaxInitMoveY = Selections.instance.eventsSelected.Max(marker => marker.initMoveY);
|
||||
}
|
||||
|
||||
#region ClickEvents
|
||||
|
|
Loading…
Reference in a new issue