void OnGetEncodedAudioData(long ticks, string encodingFilename, byte[] data) { AudioInfo audioinfo = serializer.CreateAudioInfo(ticks); serializer.Send(audioinfo, ticks); serializer.Send(data, "audio", encodingFilename); }
void CreateInfos() { Dictionary <string, Material> materials = new Dictionary <string, Material>(); Dictionary <string, Texture> textures = new Dictionary <string, Texture>(); List <MeshInfo> meshInfos = new List <MeshInfo>(); List <MaterialInfo> materialInfos = new List <MaterialInfo>(); List <string> meshNames = new List <string>(); List <string> materialNames = new List <string>(); List <string> textureNames = new List <string>(); for (int i = 0; i < renderers.Count; i++) { SkinnedMeshRenderer renderer = renderers[i]; if (renderer != null) { MeshInfo meshInfo = serializer.CreateMeshInfo(renderer); if (meshInfo == null) { continue; } meshInfos.Add(meshInfo); meshNames.Add("mesh" + i + ".json"); for (int j = 0; j < renderer.sharedMaterials.Length; j++) { Material mat = renderer.sharedMaterials[j]; Material dummy; if (materials.TryGetValue(mat.name, out dummy)) { continue; } materials.Add(mat.name, mat); MaterialInfo materialInfo = serializer.CreateMaterialInfo(mat); if (materialInfo == null) { continue; } materialInfos.Add(materialInfo); materialNames.Add("material" + materialNames.Count + ".json"); List <KeyValuePair <string, Texture> > texturePairs = serializer.GetTexturesFromMaterial(mat); foreach (KeyValuePair <string, Texture> texturePair in texturePairs) { Texture dummyTexture; if (textures.TryGetValue(texturePair.Key, out dummyTexture)) { continue; } textures.Add(texturePair.Key, texturePair.Value); textureNames.Add(texturePair.Key + ".png"); } } } } ChannelInfo channelInfo = serializer.CreateChannelInfo( areaRange, packageSize, frameInterval, combinedFrames, meshNames, materialNames, textureNames ); serializer.Send(channelInfo); for (int i = 0; i < meshInfos.Count; i++) { MeshInfo meshInfo = meshInfos[i]; serializer.Send(meshInfo, i); } for (int i = 0; i < materialInfos.Count; i++) { MaterialInfo matInfo = materialInfos[i]; serializer.Send(matInfo, i); } foreach (KeyValuePair <string, Texture> texturePair in textures) { Texture texture = texturePair.Value; serializer.Send(texture, true); } }