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;
        }
    }
Beispiel #2
0
 internal static void InvokeScreenshotSaved(string filePath, int width, int height, MetadataV2 metadata)
 {
     OnScreenshotSaved?.Invoke(filePath, width, height, metadata == null ? null : new Metadata(metadata));
 }