Esempio n. 1
0
        private void OnAsyncUpdateDone()
        {
            asyncUpdateRoutine = null;

            asyncUpdateDone.NPInvoke();
            asyncUpdateDone = null;

            AsyncUpdateDone.NPInvoke(this);
        }
    /// <summary>
    /// Takes the screenshot from screen.
    /// </summary>
    public static void TakeScreenshot(Action <string> screenshotTakenCallback)
    {
        var fileName = Path.Combine(Application.persistentDataPath, "SHScreenshotHelper_TakeScreenshot.png");

        SHFileHelper.DeleteIfExists(fileName);

        ScreenCapture.CaptureScreenshot(fileName);

        SHLog.Debug("SHScreenshotHelper.TakeScreenshot: {0}", fileName);

        SHCoroutine.WaitFor(
            () =>
        {
            return(File.Exists(fileName));
        },
            () =>
        {
            screenshotTakenCallback(fileName);
        }
            );
    }
    /// <summary>
    /// Takes the screenshot from screen.
    /// </summary>
    public static void TakeScreenshot(Action <Texture2D> screenshotTakenCallback)
    {
        TakeScreenshot((string fileName) =>
        {
            fileName = string.Format("file://{0}", fileName);

            var www        = new WWW(fileName);
            var screenshot = new Texture2D(System.Convert.ToInt32(SHScreen.Width), System.Convert.ToInt32(SHScreen.Height));

            SHCoroutine.WaitFor(
                () =>
            {
                return(www.isDone);
            },
                () =>
            {
                www.LoadImageIntoTexture(screenshot);
                screenshotTakenCallback(screenshot);
            }
                );
        });
    }