SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Fazer um variável bool ficar alternando de verdadeiro pra falso.
Fazer inimigo jogar coisas no player
Problema com um projeto na Unity 3d, versão 2018.4.26
Como alterar um GameObject dentro de uma array
Mini-Map
[RESOLVIDO] Rotação, c#.
objeto ir lentamente para uma posicao!
Numeros da calculadora nao fica em fileira ajudem?
Não consigo fazer verificação se meu texto esta escrito "12345"...
Configurar NPCs
Coletar um item e equipar sem inventario
Emulador fica com tela preta qnd inicia meu jogo android
INTERCALAÇÃO ENTRE 2 ATAQUES DE UM INIMIGO
Problemas de Python no Blender.
[RESOLVIDO] Instanciar objetos com um limite.
[RESOLVIDO] Câmera do Sketch ao exportar para Unity
Erro no Lightmap
Empurrar e puxar caixas com animação POR FAVOR.
[RESOLVIDO] Teclado do celular
Alguem tem os escripts pra sair sangue do inimigo e do player
Arrays com texturas diferentes!!
[RESOLVIDO] COMO RETIRAR UMA ANIMAÇAO DE UMA FBX
FORMACAO DE EQUIPE
Opinião sobre meu projeto (O Labirinto)
[RESOLVIDO] Jogador por nome dentro do jogo
Problema 'Unity Package Manager Error'
Package Manager, erro de dependência
[RESOLVIDO] Como mostrar a posição Y do objeto em um texto
sistema de valores com mensagem por faixa
[RESOLVIDO]Como fazer uma imagem desaparecer lentamente.
Opinião sobre um projeto (Burst Task)
Oportunidade de Freelancer
[ARQUIVOS INDISPONÍVEIS]Sistema PDV, Lojas Em Geral - C#
[RESOLVIDO] Como mostro algumas variáveis em um editor de inspector
[RESOLVIDO] Não consigo somar valor do texto
Projeto de um jogo em 3D... (Estou pensando em mudar a engine dele)
[RESOLVIDOS] script animator
Meu objeto me atravessa quando esta girando.
Limitar area de movimento da Camera
particulas e som iniciarem e pararem com o tempo!!??
[TUTORIAL] FPS Camera e movimento
Como faço Load Scene aleatorio?
Nao consigo alterar o valor da variavel de outro script
Tutorial script para passar de fase por pontos.
usar resultado em text de fórmula e multiplicar por um valor
Como verificar se foi meu player que tocou no CUBO?
[RESOLVIDO] player apontar a arma para o centro da tela
Verificar espaco se ocupado ou nao e limitar as instancias!!
Como faço para saber o ping na Photon engine?
Objeto atravessando colisor
Camera tremer ao pressionar tecla
[RESOLVIDO] Mover objeto depois de instanciado ate o player
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Troca de Material por input
Imagem do celular no jogo!
[TUTORIAL] Camera de visão noturna (Night vision) na Unity 5
Unity - Trigger detectando os dois personagens - ERRO!
Ajuda com respawn do inimigo
[TUTORIAL] Banco de dados || MySQL
[RESOLVIDO] Qual é o nome desse efeito?
Spawn SlenderMan
Temporizador/Cronometro/TimerEvents
Como resolver este erro na Play store do google?
Como criar uma onda
Duvida com codigo toutch
[RESOLVIDO] Dúvida sobre menu
Ajuda c#
[RESOLVIDO] Camera Touch Mobile sem atrapalhar os botoes UI
[RESOLVIDO]Erro: Your project path contains non-ASCII characters....
script 2D double jump erro no 2 pulo que não pla ou pula alto demais
[TUTORIAL] Unity 5 - Pulo Duplo (Double Jump) para 2D e 3D
[RESOLVIDO]Operação com toggle group
Instanciar jogadores num array de transform - Photon Multiplayer
Como posso fazer um botão de ligar um GameObject aleatorio?
Como eu passo os valores de direção pro animator ?
Sistema de Escala de Renderização sem URP ou HDRP
[RESOLVIDO] Efeito de distorcer/esticar/borrar a imagem do jogo
ajuda: desenvolver sistema de inventario/mochila
[RESOLVIDO] [Character Controller] o Capsula Collider Dele é Só pra Bonito??
[RESOLVIDO] Instanciar obj filho que muda textura com botaoUIi!
[RESOLVIDO] Qual a melhor forma de configurar resolução para mobile?
Spawnar se tiver mesa disponivel
[RESOLVIDO] Ajuda com iluminação
[RESOLVIDO] Erro Som.
script para Mouse Look
operação com inputfield
[RESOLVIDO] Erro Material C#
[RESOLVIDO] Script para detecção de inimigos
Salvar Dados Binários no Servidor e Reabrir em jogo - Unity
[RESOLVIDO] Dúvida com o Novo Input System
Carregamento de caixas
ANIMAÇÃO EM MESH
Como ativar um gameobjet com uma tag especifica?
[TUTORIAL] Resolver bug dos reflexos, Unity 5.5+
Ajuda para criar um botão continuar.
ao buildar para android o jogo tem compotamento diferente
NavMeshAgent
[RESOLVIDO] Alguem pode me ajudar? [Gradle error, o que fazer?]
Como Modificar ossos de animações via script
Hoje à(s) 9:03 pm
Hoje à(s) 8:39 pm
Hoje à(s) 2:08 pm
Hoje à(s) 12:24 pm
Hoje à(s) 11:24 am
Ontem à(s) 11:08 pm
Ontem à(s) 6:14 pm
Ontem à(s) 6:03 pm
Ontem à(s) 6:00 pm
Ontem à(s) 4:13 pm
Ontem à(s) 2:19 am
Ontem à(s) 2:15 am
Sab Jun 19, 2021 1:28 pm
Sab Jun 19, 2021 10:05 am
Sab Jun 19, 2021 9:15 am
Sex Jun 18, 2021 9:20 pm
Sex Jun 18, 2021 8:35 pm
Sex Jun 18, 2021 1:58 pm
Sex Jun 18, 2021 9:30 am
Sex Jun 18, 2021 12:26 am
Qui Jun 17, 2021 8:05 pm
Qui Jun 17, 2021 5:05 pm
Qua Jun 16, 2021 10:13 am
Ter Jun 15, 2021 11:31 am
Ter Jun 15, 2021 8:39 am
Seg Jun 14, 2021 7:53 pm
Seg Jun 14, 2021 7:05 pm
Seg Jun 14, 2021 3:47 pm
Seg Jun 14, 2021 3:40 pm
Seg Jun 14, 2021 3:30 pm
Dom Jun 13, 2021 10:24 pm
Dom Jun 13, 2021 6:01 pm
Dom Jun 13, 2021 5:59 pm
Dom Jun 13, 2021 5:49 pm
Dom Jun 13, 2021 11:39 am
Sab Jun 12, 2021 9:46 am
Sab Jun 12, 2021 9:37 am
Sex Jun 11, 2021 5:43 pm
Sex Jun 11, 2021 11:10 am
Sex Jun 11, 2021 9:12 am
Qui Jun 10, 2021 8:31 pm
Qui Jun 10, 2021 4:45 pm
Qui Jun 10, 2021 4:41 pm
Qui Jun 10, 2021 4:38 pm
Qui Jun 10, 2021 1:51 pm
Qua Jun 09, 2021 7:23 pm
Qua Jun 09, 2021 12:30 am
Ter Jun 08, 2021 11:50 pm
Ter Jun 08, 2021 6:23 pm
Ter Jun 08, 2021 4:36 pm
Ter Jun 08, 2021 2:57 am
Seg Jun 07, 2021 8:33 pm
Seg Jun 07, 2021 2:02 pm
Seg Jun 07, 2021 1:06 pm
Seg Jun 07, 2021 11:11 am
Dom Jun 06, 2021 9:36 pm
Dom Jun 06, 2021 6:41 pm
Dom Jun 06, 2021 1:49 pm
Sab Jun 05, 2021 4:59 pm
Sab Jun 05, 2021 1:00 am
Sex Jun 04, 2021 10:14 pm
Sex Jun 04, 2021 7:02 pm
Sex Jun 04, 2021 1:57 pm
Qui Jun 03, 2021 11:11 pm
Qui Jun 03, 2021 4:41 pm
Qui Jun 03, 2021 11:25 am
Qua Jun 02, 2021 6:21 pm
Qua Jun 02, 2021 2:51 pm
Qua Jun 02, 2021 2:10 pm
Ter Jun 01, 2021 3:53 pm
Ter Jun 01, 2021 3:44 pm
Ter Jun 01, 2021 2:18 pm
Seg Maio 31, 2021 9:49 pm
Seg Maio 31, 2021 7:35 pm
Seg Maio 31, 2021 12:13 pm
Dom Maio 30, 2021 11:24 pm
Dom Maio 30, 2021 10:13 pm
Dom Maio 30, 2021 3:16 pm
Sab Maio 29, 2021 1:39 pm
Sab Maio 29, 2021 12:10 pm
Sex Maio 28, 2021 6:16 pm
Sex Maio 28, 2021 4:31 pm
Sex Maio 28, 2021 3:51 pm
Sex Maio 28, 2021 9:17 am
Qui Maio 27, 2021 11:03 pm
Qui Maio 27, 2021 3:45 pm
Qua Maio 26, 2021 3:29 pm
Qua Maio 26, 2021 2:03 pm
Ter Maio 25, 2021 2:38 pm
Ter Maio 25, 2021 10:51 am
Seg Maio 24, 2021 11:02 pm
Seg Maio 24, 2021 4:17 pm
Seg Maio 24, 2021 12:33 am
Dom Maio 23, 2021 9:54 pm
Dom Maio 23, 2021 4:35 pm
Sab Maio 22, 2021 12:22 pm
Sab Maio 22, 2021 9:18 am
Sab Maio 22, 2021 12:20 am
Sex Maio 21, 2021 8:53 pm
vinicius12412
Fagner
Pokedlg
Maston
marx478
Mozinhas2
Joaozim500
IDK
jhonih00010
ProBrStalker
JulioWinchester
Crash Psycho
ViniciusTKH
Fagner
Pokedlg
Leooo101006
MarceloYBP
TIKO
Fagner
Felipe42
Fagner
Felipe42
Cristhofer Marques
Fagner
capim22
Leandroigor
Pokedlg
amanda.ilg
Fagner
jeancvo3
poyser
Chilinger
Chilinger
Charlesoff
jhonih00010
NoctisDregon
Phirdy
diegopds
TigerStudios
capim22
Alessa1120
JulioWinchester
JulioWinchester
JulioWinchester
eduardonog30
jhonih00010
gui78h3
Pokedlg
Charlesoff
Charlesoff
JulioWinchester
capim22
hancyaragon
Mozinhas2
Fagner
MarcosSchultz
WLCS22
paulo.andrade
Celerom
Neyuriki
ItzDoog
MatheusEleodoro
JulioWinchester
Joana
loucoporjogo
Pokedlg
Mozinhas2
Fagner
eduardonog30
Phirdy
Phirdy
eduardonog30
DevFrustrada
Jäger
danisanca
Franttyck
Rangel Oblivion
marcoemayelli
rafaelsmoreiras
Pokedlg
verme1311
thgsousa342
Charlesoff
Pokedlg
SERGIOCS
eduardonog30
Pokedlg
danisanca
CleiMac
RenatoBarreto
Pokedlg
Franttyck
MayLeone
NerdGuin
lauderson
Matrirxp
hellside
verme1311
hendrick22

Sistema de Screenshots v2

Ir em baixo

Assetss Sistema de Screenshots v2

Mensagem por AnderGames Qua Maio 12, 2021 4:59 pm

Queridas pessoas! Tudo bem?

Estou compartilhando a versão 2 do meu script de Screenshot, desta vez mais robusto e completo que o anterior, sem perder sua facilidade de uso.

Sistema de Screenshots v2 B2JBBK2sJl8DAAAAAElFTkSuQmCC

Fácil de definir o local e o nome do arquivo, resolução da imagem, etc...

*Ah, e sistema está disponível em Português e Inglês (dependendo da linguagem do seu Windows)



Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEngine.UI;

#if UNITY_EDITOR //Editor script
using UnityEditor;
using System.Threading.Tasks;

[CustomEditor(typeof(Screenshoots))]
public class Screenshoots_Editor : Editor
{
    /// <summary>
    /// Get the target of this editor
    /// </summary>
    /// <returns>(Screenshoot)target</returns>
    public Screenshoots Target()
    {
        return (Screenshoots)target;
    }

    public override void OnInspectorGUI()
    {
        EditorUtility.ClearProgressBar();
        //base.OnInspectorGUI(); //Standalone Unity inspector

        #region FilePath
        EditorGUILayout.BeginHorizontal(); //Start horizontal layout
        Target().FilePath = EditorGUILayout.TextField(Target().FilePath); //Set the File Path string field

        if (GUILayout.Button("...")) //Set the brownse button
        {
            Target().FilePath = EditorUtility.SaveFilePanel(Screenshoots.text(new string[] { "Save Screenshot.", "Salvar Captura de tela." }), Screenshoots.text(new string[] { "File","Arquivo" }), "Screenshot", "jpg"); //Open brownse pannel
        }
        EditorGUILayout.EndHorizontal(); //Finish Horizontal layout
        #endregion

        #region File Settings
        EditorGUILayout.BeginHorizontal(); // Start horizontal layout
        Target().resolution = (Screenshoots.imageSize)EditorGUILayout.EnumPopup(Screenshoots.text(new string[] { "Resolution: ","Resolução: " }), Target().resolution); //Create Resolution field

        if (GUILayout.Button(Screenshoots.text(new string[] { "Take Screenshot", "Tirar Screenshoot" }))) //Create Screenshot pannel
        {
            Target().TakeScreenshot(); //Start screenshoot
            EditorApplication.ExecuteMenuItem("Window/Panels/2 Game"); //Move to game Window (The system works only on game window)
        }
        EditorGUILayout.EndHorizontal(); //Finish horizontal layout
        #endregion


        EditorGUILayout.BeginHorizontal(); // Start horizontal layout
        Target().ShowDialog = EditorGUILayout.Toggle(Screenshoots.text(new string[] { "Show finish dialog", "Mostrar diálogo final" }), Target().ShowDialog);
        Target().ReplaceFile = EditorGUILayout.Toggle(Screenshoots.text(new string[] { "Replace file", "Substituir arquivo" }), Target().ReplaceFile);
        EditorGUILayout.EndHorizontal(); //Finish horizontal layout
    }

    /// <summary>
    /// Called after take screenshot
    /// </summary>
    /// <param name="path">the final path of Screenshot</param>
    public static void OnScreenshotTaked(string path,bool DisplayDialogs)
    {
        EditorUtility.DisplayProgressBar(Screenshoots.text(new string[] { "Processing screenshot...", "Processando Captura de tela"}), Screenshoots.text(new string[] { "Please wait...", "Por favor aguarde..." }), 50);
        ShowScreenshotDialog(path, DisplayDialogs);
    }

    /// <summary>
    /// Count the time waiting
    /// </summary>
    static float TimeWaiting;
    public static async void ShowScreenshotDialog(string path, bool DisplayDialogs)
    {
        //Make this thread wait 500ms
        await Task.Delay(500);

        //Check if Screenshot process is finished.
        if (!File.Exists(path))
        {
            if (DisplayDialogs)
            {
                //Show loading messages
                if (TimeWaiting < 3)
                {
                    EditorUtility.DisplayProgressBar(Screenshoots.text(new string[] { "Processing screenshot...", "Processando Captura de tela" }), Screenshoots.text(new string[] { "Processing the image, Please wait...", "Processando a imagem, Por favor aguarde..." }), 50);
                }
                else
                {
                    EditorUtility.DisplayProgressBar(Screenshoots.text(new string[] { "Processing screenshot...", "Processando Captura de tela" }), Screenshoots.text(new string[] { "Still processing... This may take a while... ", "Ainda processando, Isso pode demorar um pouco..." }), 50);
                }

                TimeWaiting += 0.5f;

                //If the process not finished yet it calls this void again
                ShowScreenshotDialog(path, DisplayDialogs);
            }
        }
        else
        {
            if (DisplayDialogs)
            {
                //Finish the progress bar
                EditorUtility.ClearProgressBar();
                int Option = EditorUtility.DisplayDialogComplex(Screenshoots.text(new string[] { "screenshot saved!", "Captura de tela salva!" }), Screenshoots.text(new string[] { "Your screenshot has ben saved on: \n ''" + path + "''.", "Sua captura de tela foi salva em: \n ''" + path + "''." }), Screenshoots.text(new string[] { "Open Folder", "Abrir pasta" }), Screenshoots.text(new string[] { "Continue", "Continuar" }), Screenshoots.text(new string[] { "Open File", "Abrir arquivo" }));

                switch (Option)
                {
                    case 0: //Open the file directory
                        Application.OpenURL("file://" + Directory.GetParent(path));
                        break;

                    case 2: //Open the file
                        Application.OpenURL("file://" + path);
                        break;

                    case 1: //Close dialog
                        break;

                    default:
                        break;
                }
            }
            Debug.Log("Screenshot saved on: ''" + path + "''");
        }
    }
}

public class Screenshoots_Window : EditorWindow
{

        public static string text(string[] LangTexts)
    {
        string Result = LangTexts[0];
        if (Application.systemLanguage == SystemLanguage.Portuguese)
        {
            Result = LangTexts[1];
        }
        return Result;
    }

    static string FilePath;
    static int resolution;
    static bool ShowDialog;
    static bool ReplaceFile;
    static bool Loaded = false;
    static bool Fouldout;

    [MenuItem("Screenshoot/Show")]

    public static void ShowWindow()
    {
        EditorWindow.GetWindow(typeof(Screenshoots_Window));
    }

    public void OnGUI()
    {
        if (!Loaded)
        {
            LoadSettings();
        }

        EditorUtility.ClearProgressBar();
        //base.OnInspectorGUI(); //Standalone Unity inspector

        #region FilePath
        EditorGUILayout.BeginHorizontal(); //Start horizontal layout
        FilePath = EditorGUILayout.TextField(FilePath); //Set the File Path string field

        if (GUILayout.Button("...")) //Set the brownse button
        {
            FilePath = EditorUtility.SaveFilePanel(Screenshoots.text(new string[] { "Save Screenshot.", "Salvar Captura de tela." }), Screenshoots.text(new string[] { "File", "Arquivo" }), "Screenshot", "jpg"); //Open brownse pannel
        }
        EditorGUILayout.EndHorizontal(); //Finish Horizontal layout
        #endregion

        //#region File Settings
        resolution = (int)(Screenshoots.imageSize)EditorGUILayout.EnumPopup(Screenshoots.text(new string[] { "Resolution: ", "Resolução: " }), (Screenshoots.imageSize)resolution); //Create Resolution field
        //#endregion


        Fouldout = EditorGUILayout.Foldout(Fouldout, Screenshoots.text(new string[] { "More settings", "Mais opções" }));
        if(Fouldout)
        {
            EditorGUILayout.BeginHorizontal(); // Start horizontal layout
            ReplaceFile = EditorGUILayout.Toggle(Screenshoots.text(new string[] { "Replace file", "Substituir arquivo" }), ReplaceFile);
            ShowDialog = EditorGUILayout.Toggle(Screenshoots.text(new string[] { "Show finish dialog", "Mostrar diálogo final" }), ShowDialog);
            EditorGUILayout.EndHorizontal(); //Finish horizontal layout
        }

        GUILayout.FlexibleSpace();


        EditorGUILayout.BeginHorizontal(); // Start horizontal layout
        if (GUILayout.Button(Screenshoots.text(new string[] { "Manager", "Gerenciar" }), GUILayout.Height(40),GUILayout.MaxWidth(70), GUILayout.MinWidth(10))) //Create Manage button
        {
            Application.OpenURL("file://" + Directory.GetParent(FilePath));
        }
        if (GUILayout.Button(Screenshoots.text(new string[] { "Take Screenshot", "Tirar Screenshoot" }), GUILayout.Height(40))) //Create Screenshot button
        {
            TakeScreenshot(FilePath, resolution); //Start screenshoot
            EditorApplication.ExecuteMenuItem("Window/Panels/2 Game"); //Move to game Window (The system works only on game window)
        }
        EditorGUILayout.EndHorizontal(); //Finish horizontal layout

        SaveSettings();

    }

    /// <summary>
    /// Called after take screenshot
    /// </summary>
    /// <param name="path">the final path of Screenshot</param>
    public static void OnScreenshotTaked(string path, bool DisplayDialogs)
    {
        EditorUtility.DisplayProgressBar(Screenshoots.text(new string[] { "Processing screenshot...", "Processando Captura de tela" }), Screenshoots.text(new string[] { "Please wait...", "Por favor aguarde..." }), 50);
        ShowScreenshotDialog(path, DisplayDialogs);
    }

    /// <summary>
    /// Count the time waiting
    /// </summary>
    static float TimeWaiting;
    public static async void ShowScreenshotDialog(string path, bool DisplayDialogs)
    {
        //Make this thread wait 500ms
        await Task.Delay(500);

        //Check if Screenshot process is finished.
        if (!File.Exists(path))
        {
            if (DisplayDialogs)
            {
                //Show loading messages
                if (TimeWaiting < 3)
                {
                    EditorUtility.DisplayProgressBar(Screenshoots.text(new string[] { "Processing screenshot...", "Processando Captura de tela" }), Screenshoots.text(new string[] { "Processing the image, Please wait...", "Processando a imagem, Por favor aguarde..." }), 50);
                }
                else
                {
                    EditorUtility.DisplayProgressBar(Screenshoots.text(new string[] { "Processing screenshot...", "Processando Captura de tela" }), Screenshoots.text(new string[] { "Still processing... This may take a while... ", "Ainda processando, Isso pode demorar um pouco..." }), 50);
                }

                TimeWaiting += 0.5f;

                //If the process not finished yet it calls this void again
                ShowScreenshotDialog(path, DisplayDialogs);
            }
        }
        else
        {
            if (DisplayDialogs)
            {
                //Finish the progress bar
                EditorUtility.ClearProgressBar();
                int Option = EditorUtility.DisplayDialogComplex(Screenshoots.text(new string[] { "screenshot saved!", "Captura de tela salva!" }), Screenshoots.text(new string[] { "Your screenshot has ben saved on: \n ''" + path + "''.", "Sua captura de tela foi salva em: \n ''" + path + "''." }), Screenshoots.text(new string[] { "Open Folder", "Abrir pasta" }), Screenshoots.text(new string[] { "Continue", "Continuar" }), Screenshoots.text(new string[] { "Open File", "Abrir arquivo" }));

                switch (Option)
                {
                    case 0: //Open the file directory
                        Application.OpenURL("file://" + Directory.GetParent(path));
                        break;

                    case 2: //Open the file
                        Application.OpenURL("file://" + path);
                        break;

                    case 1: //Close dialog
                        break;

                    default:
                        break;
                }
            }
            Debug.Log("Screenshot saved on: ''" + path + "''");
        }
    }

    public static int BoolToInt(bool Target)
    {
        if (Target == true)
        {
            return 1;
        } else
        {
            return 0;
        }
    }
    public static bool IntToBool(int Target)
    {
        return Target != 0;
    }

    public static void SaveSettings()
    {
        PlayerPrefs.SetString("Screenshots_Location", FilePath);
        PlayerPrefs.SetInt("Screenshots_resolution", (int)resolution);
        PlayerPrefs.SetInt("Screenshots_ShowDialog", BoolToInt(ShowDialog));
        PlayerPrefs.SetInt("Screenshots_ReplaceFile", BoolToInt(ReplaceFile));
        PlayerPrefs.SetInt("Screenshots_Loaded", 1);
    }

    public static void LoadSettings()
    {
        FilePath = PlayerPrefs.GetString("Screenshots_Location");
        resolution = PlayerPrefs.GetInt("Screenshots_resolution");
        ShowDialog = PlayerPrefs.GetInt("Screenshots_ShowDialog") != 0;
        ReplaceFile = PlayerPrefs.GetInt("Screenshots_ReplaceFile") != 0;
        Loaded = PlayerPrefs.GetInt("Screenshots_Loaded") != 0;
    }

    /// <summary>
    /// Take a new Screenshot manualiy
    /// </summary>
    /// <param name="path">The folder path of file (without file)</param>
    /// <param name="name">The file name (without format)</param>
    /// <param name="format">the format of file</param>
    /// <param name="resolution">The resolution multipiler</param>
    public void TakeScreenshot(string name, int resolution)
    {
        string _filePath = name; //Combine the file name with path

        //Replace file or create a new
        if (!ReplaceFile)
        {
            //Check if file exists on index
            int i = 0;
            while (File.Exists(_filePath))
            {
                i++;
                _filePath = name.Replace(".", "_" + i + "."); //Set new name if file already exists
            }
        }


        ScreenCapture.CaptureScreenshot(_filePath, resolution); //Create the screenshot

        Debug.Log("Processing Screenshot...");
        OnScreenshotTaked(_filePath, ShowDialog);
    }
}
#endif

//Runtime script
public class Screenshoots : MonoBehaviour
{
    [System.Serializable]
    public enum imageSize
    {
        _1x = 1,
        _2x = 2,
        _3x = 3,
        _4x = 4,
        _5x = 5,
        _6x = 6,
        _7x = 7,
        _8x = 8,
        _9x = 9,
        _10x = 10,
    }

    /// <summary>
    /// The path of file with name
    /// </summary>
    public string FilePath;
    /// <summary>
    /// The Resolution multipiler of file
    /// </summary>
    [Tooltip("The resolution multipiler of the screenshot")]
    [SerializeField]
    public imageSize resolution;
    public bool ShowDialog = true;
    public bool ReplaceFile = false;

    /// <summary>
    /// File final patch
    /// </summary>
    public string _file { get; set; }

    /// <summary>
    /// Take a new Screenshot manualiy
    /// </summary>
    /// <param name="path">The folder path of file (without file)</param>
    /// <param name="name">The file name (without format)</param>
    /// <param name="format">the format of file</param>
    /// <param name="resolution">The resolution multipiler</param>
    public void TakeScreenshot(string name, int resolution)
    {
        string _filePath = name; //Combine the file name with path

        //Replace file or create a new
        if (!ReplaceFile)
        {
            //Check if file exists on index
            int i = 0;
            while (File.Exists(_filePath))
            {
                i++;
                _filePath = name.Replace(".", "_" + i + "."); //Set new name if file already exists
            }
        }


        ScreenCapture.CaptureScreenshot(_filePath, resolution); //Create the screenshot
        
        _file = _filePath;
        Debug.Log("Processing Screenshot...");
        OnScreenshot();
    }

    /// <summary>
    /// Called after "TakeScreemshot()"
    /// </summary>
    void OnScreenshot()
    {
#if UNITY_EDITOR
        Screenshoots_Editor.OnScreenshotTaked(_file, ShowDialog);
#endif
    }

    /// <summary>
    /// Take the screenshot automatically
    /// </summary>
    public void TakeScreenshot()
    {
        TakeScreenshot(FilePath, (int)resolution);
    }

    /// <summary>
    /// Translate some text
    /// </summary>
    /// <param name="LangTexts">Text to translate</param>
    /// <returns></returns>
    public static string text(string[] LangTexts)
    {
        string Result = LangTexts[0];
        if (Application.systemLanguage == SystemLanguage.Portuguese)
        {
            Result = LangTexts[1];
        }
        return Result;
    }
}

Para instalar, basta criar um novo documento de texto ou script chamado "Screenshoots.cs" (sem aspas) e colar o codigo acima.
*Para evitar confusão, por favor não compartilhe o código sem atribuir os créditos a mim. A venda deste conteúdo não é permitida e nem disponibilizada em outros lugares.
AnderGames
AnderGames
Programador

Masculino PONTOS : 2171
REPUTAÇÃO : 47
Idade : 20
Áreas de atuação : Animação, Design de Interface, Programação, Modelagem
Respeito as regras : Sistema de Screenshots v2 WvDYdlf

https://www.youtube.com/c/AnderSystemsTests

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão neste fórum:
Você não pode responder aos tópicos neste fórum