import { ByteBuffer } from '../serialization/ByteBuffer' import { EcsType } from './EcsType' /** * @public */ export function ArrayType(type: EcsType): EcsType> { return { serialize(value: Array, builder: ByteBuffer): void { builder.writeUint32(value.length) for (const item of value) { type.serialize(item, builder) } }, deserialize(reader: ByteBuffer): Array { const newArray: Array = [] const length = reader.readUint32() for (let index = 0; index < length; index++) { newArray.push(type.deserialize(reader)) } return newArray }, create() { return [] } } }