/// <summary> /// DownloadAndSaveHaircutPointsAsync implementation /// </summary> private IEnumerator DownloadAndSaveHaircutPointsFunc(string avatarCode, AvatarHaircutData haircutData, AsyncRequest request) { var haircutPointsRequest = connection.DownloadHaircutPointCloudZipAsync(haircutData); yield return(request.AwaitSubrequest(haircutPointsRequest, 0.9f)); if (request.IsError) { yield break; } var saveHaircutPointsRequest = CoreTools.SaveAvatarHaircutPointCloudZipFileAsync(haircutPointsRequest.Result, avatarCode, haircutData.identity); yield return(request.AwaitSubrequest(saveHaircutPointsRequest, 0.95f)); if (request.IsError) { yield break; } var unzipPointsRequest = CoreTools.UnzipFileAsync(saveHaircutPointsRequest.Result); yield return(request.AwaitSubrequest(unzipPointsRequest, 1.0f)); if (request.IsError) { yield break; } request.IsDone = true; }