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_TargetGraphic: {fileID: 1589389272}
m_HandleRect: {fileID: 1589389271} m_HandleRect: {fileID: 1589389271}
m_Direction: 2 m_Direction: 2
m_Value: 0 m_Value: 1
m_Size: 1 m_Size: 1
m_NumberOfSteps: 0 m_NumberOfSteps: 0
m_OnValueChanged: m_OnValueChanged:

View file

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

View file

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