public GeometryFrame(RenderWareStream.Frame src, RenderWareStream.Atomic atomic) { Source = src; Name = src.Name != null ? src.Name.Value : DefaultName; ParentIndex = src.ParentIndex; GeometryIndex = atomic == null ? -1 : (int)atomic.GeometryIndex; Position = Types.Convert(src.Position); Rotation = UnityEngine.Quaternion.LookRotation(Types.Convert(src.MatrixForward), Types.Convert(src.MatrixUp)); }
private static GeometryFrame Convert(RenderWareStream.Frame src, IEnumerable <Atomic> atomics) { var atomic = atomics.FirstOrDefault(x => x.FrameIndex == src.Index); return(new GeometryFrame(src, atomic)); }