public AsyncLoadSceneOperation(AsyncLoadSceneData asyncLoadSceneData, bool usingLiveLink) { _Data = asyncLoadSceneData; _LoadingStatus = LoadingStatus.NotStarted; if (usingLiveLink && _ExpectedObjectReferenceCount != 0) { // Resolving must happen on the main thread using (var data = new NativeArray <byte>(File.ReadAllBytes(_ResourcesPathObjRefs), Allocator.Temp)) using (var reader = new MemoryBinaryReader((byte *)data.GetUnsafePtr())) { var numObjRefGUIDs = reader.ReadInt(); NativeArray <RuntimeGlobalObjectId> objRefGUIDs = new NativeArray <RuntimeGlobalObjectId>(numObjRefGUIDs, Allocator.Temp); reader.ReadArray(objRefGUIDs, numObjRefGUIDs); var objs = new UnityEngine.Object[numObjRefGUIDs]; LiveLinkPlayerAssetRefreshSystem._GlobalAssetObjectResolver.ResolveObjects(objRefGUIDs, objs); objRefGUIDs.Dispose(); _ResourceObjRefs = ScriptableObject.CreateInstance <ReferencedUnityObjects>(); _ResourceObjRefs.Array = objs; } } }
public AsyncLoadSceneOperation(AsyncLoadSceneData asyncLoadSceneData) { _Data = asyncLoadSceneData; _LoadingStatus = LoadingStatus.NotStarted; }