/// <summary>
        /// Copies items from a RefFixedArrayPtr to a managed array.
        /// </summary>
        public static T[] ToArray <T>(this RefFixedArrayPtr <T> items) where T : unmanaged
        {
            var result = new T[items.Count];

            items.CopyTo(result, result.Length);
            return(result);
        }
 public InMemoryLayoutFile(void *ptr)
 {
     Header       = (LayoutHeader *)ptr;
     Objects      = new RefFixedArrayPtr <SetObject>((ulong)(Header + 1), Header->ObjectCount);
     UnknownArray = new RefFixedArrayPtr <ushort>((ulong)(Header + 1) + (ulong)(Objects.Count * sizeof(SetObject)), Header->ObjectCount);
 }