Example #1
0
        public unsafe BlobAssetReference Build(ITreeNode <INodeDataBuilder>[] builders)
        {
            if (NodeType.IsZeroSizeStruct())
            {
                return(BlobAssetReference.Null);
            }
            var blobBuilder = new BlobBuilder(Allocator.Temp, UnsafeUtility.SizeOf(NodeType));

            try
            {
                var dataPtr = blobBuilder.ConstructRootPtrByType(NodeType);
                Build(dataPtr, blobBuilder, builders);
                return(blobBuilder.CreateReferenceByType(NodeType));
            }
            finally
            {
                blobBuilder.Dispose();
            }
        }