Anotações
Para que servem as anotações?
- As anotações em Java são marcadores especiais que fornecem metadados sobre elementos do código-fonte. Elas são introduzidas com o símbolo "@". Eles fornecem informações adicionais que podem ser interpretadas pelo compilador, pelo tempo de execução ou por ferramentas externas.
 
Anotações da ItsMagic
@AutoWired
- Busca e anexa o componente no próprio objeto que o script está presente.
 
Exemplo
public class SuaClasse extends Component {
    
    // cria um novo Rigidbody, @Autowired seleciona o componente desde objeto
    @AutoWired
    private Rigidbody rigidbody;
    
    @Override
    public void repeat() {
        // verificando se a tela foi pressionada e o Rigidbody é diferente de nulo
        if (Input.getTouch(0).isDown() && rigidbody != null) Console.log("Rigidbody encontrado!"); // mostrando uma mensagem no terminal caso a condicional seja verdadeira
    }
}
@Singleton
- Busca e anexa o componente ao primeiro componente do mesmo tipo que for encontrado na cena.
 
Exemplo
public class SuaClasse extends Component {
    
    // cria um novo SUIText, @Singleton seleciona o primeiro componente que encontrar na cena
    @Singleton
    private SUIText texto;
    
    @Override
    public void repeat() {
        // verificando se a tela foi pressionada e o SUIText é diferente de nulo
        if (Input.getTouch(0).isDown() && texto != null) Console.log("SUIText encontrado!"); // mostrando uma mensagem no terminal caso a condicional seja verdadeira
    }
}
@Hide
- Oculta variáveis no inspetor (propriedades do script).
 
Exemplo
public class SuaClasse extends Component {
    
    // cria um novo valor flutuante, @Hide oculta a variavel no inspetor (propriedades do script)
    @Hide
    public float valor = 10f;
}
@Order
- Ordena as variáveis de acordo com a posição definida.
 
Exemplo
public class SuaClasse extends Component {
    
    // cria um novo valor flutuante, @Order define a posição da variável no inspector para -1
    @Order(idx=-1)
    public float valor1 = 1f;
    // cria um novo valor flutuante, @Order define a posição da variável no inspector para 0
    @Order(idx=0)
    public float valor2 = 2f;
    // cria um novo valor flutuante, @Order define a posição da variável no inspector para 1
    @Order(idx=1)
    public float valor3 = 3f;
    // cria um novo valor flutuante, @Order define a posição da variável no inspector para -2
    @Order(idx=2)
    public float valor4 = 4f;
}
@ReadOnly
- Impede que o valor da variável seja alterado pelo inspetor (proriedades do script).
 
Exemplo
public class SuaClasse extends Component {
    // cria um novo valor flutuante, @ReadOnly impede que o valor da variável seja alterado pelo inspetor (proriedades do script)
    @ReadOnly
    public float valor = 10f;
}