Fix unexpected shared vector references.
This commit is contained in:
@@ -93,8 +93,8 @@ namespace Cryville.Crtr {
|
|||||||
cnode.Id = node.Id;
|
cnode.Id = node.Id;
|
||||||
RelativeNodes.Add(node.Id, cnode);
|
RelativeNodes.Add(node.Id, cnode);
|
||||||
}
|
}
|
||||||
if (node.Time != null) cnode.Time = node.Time;
|
if (node.Time != null) node.Time.CopyTo(cnode.Time);
|
||||||
if (node.EndTime != null) cnode.EndTime = node.EndTime;
|
if (node.EndTime != null) node.EndTime.CopyTo(cnode.EndTime);
|
||||||
if (node.Value != null) node.Value.CopyTo(cnode.Value);
|
if (node.Value != null) node.Value.CopyTo(cnode.Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,17 +132,17 @@ namespace Cryville.Crtr {
|
|||||||
|
|
||||||
public void LerpWith(MotionNode start, Vector4 trans, ref MotionNode result) {
|
public void LerpWith(MotionNode start, Vector4 trans, ref MotionNode result) {
|
||||||
result.Id = Id;
|
result.Id = Id;
|
||||||
if (Time == null) result.Time = start.Time;
|
if (Time == null) start.Time.CopyTo(result.Time);
|
||||||
else {
|
else {
|
||||||
var t = (Vector)result.Time;
|
var t = (Vector)result.Time;
|
||||||
Time.LerpWith(start.Time, trans, ref t);
|
Time.LerpWith(start.Time, trans, ref t);
|
||||||
}
|
}
|
||||||
if (EndTime == null) result.EndTime = start.EndTime;
|
if (EndTime == null) start.EndTime.CopyTo(result.EndTime);
|
||||||
else {
|
else {
|
||||||
var t = (Vector)result.EndTime;
|
var t = (Vector)result.EndTime;
|
||||||
EndTime.LerpWith(start.EndTime, trans, ref t);
|
EndTime.LerpWith(start.EndTime, trans, ref t);
|
||||||
}
|
}
|
||||||
if (Value == null) result.Value = start.Value;
|
if (Value == null) start.Value.CopyTo(result.Value);
|
||||||
else Value.LerpWith(start.Value, trans, ref result.Value);
|
else Value.LerpWith(start.Value, trans, ref result.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user