Uma coisa muito chata quando temos que testar algo é ter que dar play no jogo toda hora.
Para resolver isso podemos criar scripts que funcionam em tempo real, sem a necessidade de dar play na build toda hora.
Essa é uma facilidade que a Unity nos dá e pode ser usado para várias fins.
Criando um editor script
Para fazer isso precisamos criar um script “editor”.
Você irá criar um script normal e ao abrir ele irá modificá-lo dessa forma:
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(SCRIPT))]
public class ScriptEditor : Editor
{
}
Lembrando que onde esta SCRIPT é o script que vamos usar como base, então teremos 2 scripts:
Script -> Script normal de jogo, como o do personagem e etc.
Script Editor -> O Script Editor vai modificar o editor do script desejado.
Criando as funções
public override void OnInspectorGUI()
{
base.OnInspectorGUI();
SCRIPT variavel = (SCRIPT )target;
}
Depois de criar o EditorScript e relacioná-lo a outro script, vamos criar uma override void.
Dentro da override void vamos criar uma variável que vai ser usada para modificar as variáveis do script no EditorScript.
Portanto, se o Script tem as variáveis:
public string nome;
public int vida;
Vamos chamá-las da seguinte forma:
variavel.nome = “teste”;
variavel.vida = variavel.vida + 1;
Criando botões e variáveis
Podemos criar botões que executam ações no inspector.
if(GUILayout.Button(“Nome do botão”)
{
variavel.Funcao();
}
Da mesma forma podemos usar o GUILayout para várias coisas:
Criando um slider para uma variável:
variavel.vida = EditorGUILayout.IntSlider(variavel.vida, 1, 10);
Criando títulos e espaços para separar as variáveis:
EditorGUILayout.LabelField(“Título”);
EditorGUILayout.Space();
Unity – Scripting API: GUILayout (unity3d.com)
Unity – Scripting API: EditorGUILayout (unity3d.com)
Modificando elementos em tempo real
A grande mágica é que podemos criar scripts dentro do override void e modificar nosso jogo como se estivéssemos dado play no jogo.
Isso é muito bom para criar scripts que otimizam tarefas na hora de criar cenários, por exemplo.
No meu jogo eu criei um editor para criar as linhas em um jogo puzzle, assim eu não preciso gastar tanto tempo criando e posicionando elas.
Eu coloco a posição inicial, os tamanhos, os prefabs e o script cria tudo para mim.
Tutoriais da Unity
O site da Unity tem tutoriais sobre isso que podem te ajuda muito:
Editor Scripting – Unity Learn
Quer aprender desenvolvimento de jogos?
Siga o nosso blog: www.crieseusjogos.com.br
Temos vídeos toda semana em nosso canal do Youtube: Crie seus jogos – Youtube
E também baixe gratuitamente: os passos para desenvolver jogos de sucesso
Seja o primeiro a comentar.