From d86da00258b679b679e691df1d95a4fc739a8c31 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Thu, 20 Apr 2023 19:46:46 +0800 Subject: [PATCH] Fix unexpected shared vector references. --- Assets/Cryville/Crtr/Motion.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/Cryville/Crtr/Motion.cs b/Assets/Cryville/Crtr/Motion.cs index 9c16838..ee5cf24 100644 --- a/Assets/Cryville/Crtr/Motion.cs +++ b/Assets/Cryville/Crtr/Motion.cs @@ -93,8 +93,8 @@ namespace Cryville.Crtr { cnode.Id = node.Id; RelativeNodes.Add(node.Id, cnode); } - if (node.Time != null) cnode.Time = node.Time; - if (node.EndTime != null) cnode.EndTime = node.EndTime; + if (node.Time != null) node.Time.CopyTo(cnode.Time); + if (node.EndTime != null) node.EndTime.CopyTo(cnode.EndTime); 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) { result.Id = Id; - if (Time == null) result.Time = start.Time; + if (Time == null) start.Time.CopyTo(result.Time); else { var t = (Vector)result.Time; Time.LerpWith(start.Time, trans, ref t); } - if (EndTime == null) result.EndTime = start.EndTime; + if (EndTime == null) start.EndTime.CopyTo(result.EndTime); else { var t = (Vector)result.EndTime; 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); } }