IEnumerator Save(byte[] bytes, string fileName, string path, ImageType imageType) { int count = 0; SaveStatus saved = SaveStatus.NOTSAVED; File.WriteAllBytes(path, bytes); while (saved == SaveStatus.NOTSAVED) { count++; saved = count > 30 ? SaveStatus.TIMEOUT : _impl.SaveToGallery(path); yield return(Instance.StartCoroutine(Instance.Wait(.5f))); } _impl.SetNoBackupFlag(path); switch (saved) { case SaveStatus.DENIED: path = "DENIED"; break; case SaveStatus.TIMEOUT: path = "TIMEOUT"; break; } switch (imageType) { case ImageType.IMAGE: OnImageSaved?.Invoke(path); break; case ImageType.SCREENSHOT: OnScreenshotSaved?.Invoke(path); break; } }
internal static void InvokeScreenshotSaved(string filePath, int width, int height, MetadataV2 metadata) { OnScreenshotSaved?.Invoke(filePath, width, height, metadata == null ? null : new Metadata(metadata)); }