@@ -22,20 +22,13 @@ public struct RawSkeletalAnimation: BinaryCodable {
2222 public func encode( into data: inout ContiguousArray < UInt8 > , version: BinaryCodableVersion ) throws {
2323 try self . name. encode ( into: & data, version: version)
2424 try self . duration. encode ( into: & data, version: version)
25-
26- let keys = Array ( self . animations. keys)
27- let values = keys. map ( { animations [ $0] !} )
28- try RawSkeleton . RawJoint. ID. encodeArray ( keys, into: & data, version: version)
29- try Self . JointAnimation. encodeArray ( values, into: & data, version: version)
25+ try self . animations. encode ( into: & data, version: version)
3026 }
3127
3228 public init ( decoding data: UnsafeRawBufferPointer , at offset: inout Int , version: BinaryCodableVersion ) throws {
3329 self . name = try String ( decoding: data, at: & offset, version: version)
3430 self . duration = try Float ( decoding: data, at: & offset, version: version)
35-
36- let keys = try RawSkeleton . RawJoint. ID. decodeArray ( data, offset: & offset, version: version)
37- let values = try Self . JointAnimation. decodeArray ( data, offset: & offset, version: version)
38- self . animations = Dictionary ( uniqueKeysWithValues: zip ( keys, values) )
31+ self . animations = try . init( decoding: data, at: & offset, version: version)
3932 }
4033}
4134
@@ -120,16 +113,16 @@ public extension RawSkeletalAnimation {
120113 }
121114
122115 func encode( into data: inout ContiguousArray < UInt8 > , version: BinaryCodableVersion ) throws {
123- try Float . encodeArray ( times , into: & data, version: version)
116+ try times . encode ( into: & data, version: version)
124117 try interpolation. encode ( into: & data, version: version)
125- try Position3 . encodeArray ( positions , into: & data, version: version)
118+ try positions . encode ( into: & data, version: version)
126119 try bind. encode ( into: & data, version: version)
127120 }
128121
129122 init ( decoding data: UnsafeRawBufferPointer , at offset: inout Int , version: BinaryCodableVersion ) throws {
130- self . times = try Float . decodeArray ( data, offset : & offset, version: version)
123+ self . times = try Array < Float > ( decoding : data, at : & offset, version: version)
131124 self . interpolation = try Interpolation ( decoding: data, at: & offset, version: version)
132- self . positions = try Position3 . decodeArray ( data, offset : & offset, version: version)
125+ self . positions = try Array < Position3 > ( decoding : data, at : & offset, version: version)
133126 self . bind = try Position3 ( decoding: data, at: & offset, version: version)
134127 }
135128 }
@@ -151,16 +144,16 @@ public extension RawSkeletalAnimation {
151144 }
152145
153146 func encode( into data: inout ContiguousArray < UInt8 > , version: BinaryCodableVersion ) throws {
154- try Float . encodeArray ( times , into: & data, version: version)
147+ try times . encode ( into: & data, version: version)
155148 try interpolation. encode ( into: & data, version: version)
156- try Quaternion . encodeArray ( rotations , into: & data, version: version)
149+ try rotations . encode ( into: & data, version: version)
157150 try bind. encode ( into: & data, version: version)
158151 }
159152
160153 init ( decoding data: UnsafeRawBufferPointer , at offset: inout Int , version: BinaryCodableVersion ) throws {
161- self . times = try Float . decodeArray ( data, offset : & offset, version: version)
154+ self . times = try Array < Float > ( decoding : data, at : & offset, version: version)
162155 self . interpolation = try Interpolation ( decoding: data, at: & offset, version: version)
163- self . rotations = try Quaternion . decodeArray ( data, offset : & offset, version: version)
156+ self . rotations = try Array < Quaternion > ( decoding : data, at : & offset, version: version)
164157 self . bind = try Quaternion ( decoding: data, at: & offset, version: version)
165158 }
166159 }
@@ -179,22 +172,20 @@ public extension RawSkeletalAnimation {
179172 }
180173
181174 func encode( into data: inout ContiguousArray < UInt8 > , version: BinaryCodableVersion ) throws {
182- try Float . encodeArray ( times , into: & data, version: version)
175+ try times . encode ( into: & data, version: version)
183176 try interpolation. encode ( into: & data, version: version)
184- try Size3 . encodeArray ( scales , into: & data, version: version)
177+ try scales . encode ( into: & data, version: version)
185178 try bind. encode ( into: & data, version: version)
186179 }
187180
188181 init ( decoding data: UnsafeRawBufferPointer , at offset: inout Int , version: BinaryCodableVersion ) throws {
189- self . times = try Float . decodeArray ( data, offset : & offset, version: version)
182+ self . times = try Array < Float > ( decoding : data, at : & offset, version: version)
190183 self . interpolation = try Interpolation ( decoding: data, at: & offset, version: version)
191- self . scales = try Size3 . decodeArray ( data, offset : & offset, version: version)
184+ self . scales = try Array < Size3 > ( decoding : data, at : & offset, version: version)
192185 self . bind = try Size3 ( decoding: data, at: & offset, version: version)
193186 }
194187 }
195188
196-
197-
198189 public func encode( into data: inout ContiguousArray < UInt8 > , version: BinaryCodableVersion ) throws {
199190 try self . positionOutput. encode ( into: & data, version: version)
200191 try self . rotationOutput. encode ( into: & data, version: version)
0 commit comments