entities don't shift when duplicated

This commit is contained in:
minenice55 2022-09-17 21:11:17 -04:00
parent 80da23bf8e
commit 2a83ec3b75
3 changed files with 9 additions and 9 deletions

View file

@ -25343,7 +25343,7 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 1589389272}
m_HandleRect: {fileID: 1589389271}
m_Direction: 2
m_Value: 0
m_Value: 1
m_Size: 1
m_NumberOfSteps: 0
m_OnValueChanged:

View file

@ -64,7 +64,7 @@ namespace HeavenStudio.Editor.Commands
{
Pos p = new Pos();
p.eventObj = eventObjs[i];
p.lastPos_ = eventObjs[i].lastPos_;
p.lastPos_ = eventObjs[i].moveStartPos;
p.previousPos = eventObjs[i].transform.localPosition;
this.pos.Add(p);
}

View file

@ -14,7 +14,7 @@ namespace HeavenStudio.Editor.Track
private float startPosY;
private Vector3 lastPos;
public Vector2 lastPos_;
public Vector2 moveStartPos;
private RectTransform rectTransform;
[Header("Components")]
@ -50,7 +50,7 @@ namespace HeavenStudio.Editor.Track
private void Start()
{
lastPos_ = transform.localPosition;
moveStartPos = transform.localPosition;
rectTransform = GetComponent<RectTransform>();
@ -163,13 +163,16 @@ namespace HeavenStudio.Editor.Track
this.wasDuplicated = false;
this.moving = false;
transform.localPosition = moveStartPos;
OnComplete(false);
var te = Timeline.instance.CopyEventObject(this);
Selections.instance.DragSelect(te);
te.wasDuplicated = true;
te.transform.localPosition = transform.localPosition;
te.lastPos_ = transform.localPosition;
te.moveStartPos = transform.localPosition;
for (int i = 0; i < Timeline.instance.eventObjs.Count; i++)
{
@ -180,9 +183,6 @@ namespace HeavenStudio.Editor.Track
te.moving = true;
}
lastPos_ = transform.localPosition;
this.transform.position = new Vector3(mousePos.x - startPosX, mousePos.y - startPosY - 0.40f, 0);
this.transform.localPosition = new Vector3(Mathf.Max(Mathp.Round2Nearest(this.transform.localPosition.x, Timeline.SnapInterval()), 0), Timeline.instance.SnapToLayer(this.transform.localPosition.y));
@ -281,7 +281,7 @@ namespace HeavenStudio.Editor.Track
{
if (selected && Timeline.instance.timelineState.selected)
{
lastPos_ = transform.localPosition;
moveStartPos = transform.localPosition;
for (int i = 0; i < Timeline.instance.eventObjs.Count; i++)
{