private static void LoadAssetReferences(SerializedArrayView assetReferences, IAssetManager assetManager)
 {
     foreach (var assetReference in GetAssetReferencesFromArrayView(assetReferences))
     {
         assetManager.GetEntity(assetReference.ToUnityObject());
     }
 }
Esempio n. 2
0
        /**
         * Deserialize an array into the array buffer.
         */
        JsonKeyHandle DeserializeToArrayBuffer(SerializedArrayView arrayView)
        {
            // construct NativeList<JsonValueRef> then add to buffer
            var values    = new UnsafeList <JsonKeyHandle>(10, m_Allocator);
            var arrayEnum = arrayView.GetEnumerator();

            while (arrayEnum.MoveNext())
            {
                var view = arrayEnum.Current;
                values.Add(DeserializeValueView(view));
            }

            arrayEnum.Dispose();

            m_ArrayBuffer.Add(values);
            return(new JsonKeyHandle(ref this, JsonValueType.Array, m_ArrayBuffer.Length - 1));
        }
        private static IEnumerable <AssetReference> GetAssetReferencesFromArrayView(SerializedArrayView assetReferences)
        {
            foreach (var element in assetReferences)
            {
                var reference = element.AsObjectView();

                if (reference.TryGetValue("Guid", out var guid) &&
                    reference.TryGetValue("FileId", out var fileId) &&
                    reference.TryGetValue("Type", out var type))
                {
                    yield return(new AssetReference
                    {
                        Guid = new Guid(guid.AsStringView().ToString()),
                        FileId = fileId.AsInt64(),
                        Type = (int)type.AsInt64()
                    });
                }
            }
        }