Version: 2018.4
public static Unity.IO.LowLevel.Unsafe.ReadHandle Read (string filename, ReadCommand* readCmds, uint readCmdCount);

パラメーター

filenameThe filename to read from.
readCmdsA pointer to an array of ReadCommand structs that specify offset, size, and destination buffer.
readCmdCountThe number of read commands pointed to by readCmds.

戻り値

ReadHandle Used to monitor the progress and status of the read command.

説明

Issues an asynchronous file read operation. Returns a ReadHandle.

using System.IO;
using Unity.Collections;
using Unity.IO.LowLevel.Unsafe;
using Unity.Collections.LowLevel.Unsafe;
using UnityEngine;

class AsyncReadSample : MonoBehaviour { private ReadHandle readHandle; NativeArray<ReadCommand> cmds;

public unsafe void Start() { string filePath = Path.Combine(Application.streamingAssetsPath, "myfile.bin"); cmds = new NativeArray<ReadCommand>(1, Allocator.Persistent); ReadCommand cmd; cmd.Offset = 0; cmd.Size = 1024; cmd.Buffer = (byte*)UnsafeUtility.Malloc(cmd.Size, 16, Allocator.Persistent); cmds[0] = cmd; readHandle = AsyncReadManager.Read(filePath, (ReadCommand*)cmds.GetUnsafePtr(), 1); }

public unsafe void Update() { if (readHandle.IsValid() &amp;&amp; readHandle.Status != ReadStatus.InProgress) { Debug.LogFormat("Read {0}", readHandle.Status == ReadStatus.Complete ? "Successful" : "Failed"); readHandle.Dispose(); UnsafeUtility.Free(cmds[0].Buffer, Allocator.Persistent); cmds.Dispose(); } } }