public override string GetHaircutFilename(string haircutId, HaircutFile file) { haircutId = CoreTools.ConvertHaircutIdToNewFormat(haircutId); var filename = string.Format(HaircutFilenames [file], haircutId); return(Path.Combine(GetHaircutsDirectory(), filename)); }
/// <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); } }
/// <summary> /// Same as SaveAvatarFileAsync, but for haircut files. Haircut meshes and textures can be shared between /// avatars and thus only one copy of each mesh/texture is stored in a separate directory. /// </summary> /// <param name="bytes">Binary file content.</param> /// <param name="haircutId">Unique ID of a haircut.</param> /// <param name="file">Kind of file.</param> public static AsyncRequest <string> SaveHaircutFileAsync( byte[] bytes, string haircutId, HaircutFile file ) { try { var filename = AvatarSdkMgr.Storage().GetHaircutFilename(haircutId, file); return(SaveFileAsync(bytes, filename)); } catch (Exception ex) { Debug.LogException(ex); var request = new AsyncRequest <string> ("Saving file"); request.SetError(string.Format("Could not save {0}, reason: {1}", file, ex.Message)); return(request); } }
public abstract string GetHaircutFilename(string haircutId, HaircutFile file);