public void B_Update() { PhysicFrameInfo physicFrameInfo = physicFrameInfos.Last.Value; physicFrameInfos.RemoveLast(); transform.SetPhysicInfo(physicFrameInfo); }
private void Update() { if (TimeBackManager.Instance.IsBacking) { return; } if (physicFrameInfos.Count == TimeBackManager.MaxFrameCount) { physicFrameInfos.RemoveFirst(); } PhysicFrameInfo physicInfo = transform.GetPhysicInfo(); physicFrameInfos.AddLast(physicInfo); }
/// <summary>设置Transform的物理信息 </summary> public static void SetPhysicInfo(this Transform transform, PhysicFrameInfo physicInfo) { transform.position = physicInfo.Position; transform.rotation = physicInfo.Rotation; transform.localScale = physicInfo.Scale; }