public void LoadCacheData() { var resourceStream = GeometryBlockInfo.GetResourceFromCache(); if (resourceStream == null) { return; } var sectionBlock = new LightmapVertexBufferBucketCacheDataBlock(); using (var binaryReader = new BinaryReader(resourceStream)) { sectionBlock.Read(binaryReader); var vertexBufferResources = GeometryBlockInfo.Resources.Where( x => x.Type == GlobalGeometryBlockResourceBlock.TypeEnum.VertexBuffer).ToArray(); for (var i = 0; i < sectionBlock.VertexBuffers.Length && i < vertexBufferResources.Length; ++i) { sectionBlock.VertexBuffers[i].VertexBuffer.Data = resourceStream.GetResourceData(vertexBufferResources[i]); } } CacheData = new[] { sectionBlock }; }
public void LoadClusterData() { var resourceStream = GeometryBlockInfo.GetResourceFromCache(); if (resourceStream == null) { return; } var clusterBlock = new StructureBspClusterDataBlockNew(); using (var binaryReader = new BinaryReader(resourceStream)) { clusterBlock.Read(binaryReader); var vertexBufferResources = GeometryBlockInfo.Resources.Where( x => x.Type == GlobalGeometryBlockResourceBlock.TypeEnum.VertexBuffer).ToArray(); for (var i = 0; i < clusterBlock.Section.VertexBuffers.Length && i < vertexBufferResources.Length; ++i) { clusterBlock.Section.VertexBuffers[i].VertexBuffer.Data = resourceStream.GetResourceData(vertexBufferResources[i]); } } ClusterData = new[] { clusterBlock }; }