Você pode pausar seu jogo a partir do editor a qualquer momento que você quiser. Mas você sabia que pode fazer a pausa a partir do código com base em alguma condição?

Consola de pausa de erro

Existe uma opção de consola chamada Error Pause. Quando ativado, ele irá pausar o seu jogo quando qualquer erro de tempo de execução ocorrer. Quando o seu jogo é pausado, você pode facilmente investigar o que está acontecendo em sua cena para que você possa entender melhor o problema. Mas e se você quiser pausar o seu jogo em uma condição personalizada? Também pode ser feito!

Para fazer isso, você tem que usar a função Debug.Break(). Basta chamá-la quando você quiser pausar o seu editor Unity.

Exemplo

C#

1
2
3
4
5
6
7
8
9
94>
usando UnityEngine;

>

classe pública DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(“Pausa Agora!”) {
Debug.Break();
}
}
}

Este exemplo mostra um botão no canto superior esquerdo. Quando o botão é clicado, o editor faz uma pausa.

Debug.Break() tem mais uma vantagem significativa sobre a pausa manual e o passo à frente. Ele pode pausar o seu jogo no meio de um quadro de execução. Isto significa que parte do seu objeto ainda pode estar esperando pela chamada Update() e a outra parte já foi atualizada. Isto é realmente útil para situações quando você está lidando com um bug que aparece aleatoriamente.

Não se preocupe em deixar as funções Debug.Break() no seu código. Quando seu jogo é construído ele literalmente não faz nada! 🙂

Arquivos

Como de costume, você pode baixar o unitypackage de exemplo aqui. Basta clicar duas vezes sobre ele para importar o seu conteúdo para o seu projeto Unity. Você encontrará lá uma cena de exemplo e o script de cima.

Deixe uma resposta

O seu endereço de email não será publicado.