Пример #1
0
 /// <summary>
 /// Loads the haircut file asynchronously.
 /// </summary>
 /// <param name="haircutId">Unique ID of a haircut.</param>
 /// <param name="file">File type (e.g. haircut texture).</param>
 public static AsyncRequest <byte[]> LoadHaircutFileAsync(string haircutId, HaircutFile file)
 {
     try {
         var filename = AvatarSdkMgr.Storage().GetHaircutFilename(haircutId, file);
         return(LoadFileAsync(filename));
     } catch (Exception ex) {
         Debug.LogException(ex);
         var request = new AsyncRequest <byte[]> ();
         request.SetError(string.Format("Could not load {0}, reason: {1}", file, ex.Message));
         return(request);
     }
 }
Пример #2
0
 /// <summary>
 /// Helper method that automatically generates full path to file from file type and avatar id, and then calls
 /// SaveFileAsync.
 /// </summary>
 /// <param name="bytes">Binary file content.</param>
 /// <param name="code">Avatar code.</param>
 /// <param name="file">Avatar file type.</param>
 public static AsyncRequest <string> SaveAvatarFileAsync(byte[] bytes, string code, AvatarFile file)
 {
     try {
         var filename = AvatarSdkMgr.Storage().GetAvatarFilename(code, file);
         return(SaveFileAsync(bytes, filename));
     } catch (Exception ex) {
         Debug.LogException(ex);
         var request = new AsyncRequest <string> ("");
         request.SetError(string.Format("Could not save {0}, reason: {1}", file, ex.Message));
         return(request);
     }
 }
Пример #3
0
 /// <summary>
 /// Loads the avatar haircut points file asynchronously.
 /// </summary>
 /// <param name="code">Avatar unique code.</param>
 /// <param name="haircutId">Unique ID of a haircut.</param>
 public static AsyncRequest <byte[]> LoadAvatarHaircutPointcloudFileAsync(string code, string haircutId)
 {
     try {
         var filename = AvatarSdkMgr.Storage().GetAvatarHaircutPointCloudFilename(code, haircutId);
         return(LoadFileAsync(filename));
     } catch (Exception ex) {
         Debug.LogException(ex);
         var request = new AsyncRequest <byte[]> ();
         request.SetError(string.Format("Could not load haircut {0} point cloud, reason: {1}", haircutId, ex.Message));
         return(request);
     }
 }
Пример #4
0
 /// <summary>
 /// Same as SaveAvatarFileAsync, but for haircut points, because they are unique for each avatar and should be stored in avatar folder.
 /// </summary>
 /// <param name="bytes">Binary file content.</param>
 /// <param name="code">Avatar unique code.</param>
 /// <param name="haircutId">Unique ID of a haircut.</param>
 public static AsyncRequest <string> SaveAvatarHaircutPointCloudZipFileAsync(
     byte[] bytes,
     string code,
     string haircutId
     )
 {
     try {
         var filename = AvatarSdkMgr.Storage().GetAvatarHaircutPointCloudZipFilename(code, haircutId);
         return(SaveFileAsync(bytes, filename));
     } catch (Exception ex) {
         Debug.LogException(ex);
         var request = new AsyncRequest <string> ("Saving file");
         request.SetError(string.Format("Could not save point cloud zip, reason: {0}", ex.Message));
         return(request);
     }
 }