Buscando componentes
Como buscar componentes
Existem muitas maneiras de buscar um componente, aqui você verá todas elas.
Seleção do componente através da interface.
- Basta criar uma variável pública do seu componente e selecioná-la no painel propriedades.
Em sua classe Java, faça o seguinte:
package JAVARuntime;
public class SuaClasse extends Component {
// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
public SUIImage myComponent; // selecione nas propriedades
@Override
public void start() {
}
@Override
public void repeat() {
}
}
E então selecione o componente no painel de propriedades:
Fazendo uma busca direta do componente por script.
- Basta criar uma variável privada do seu componente e buscá-la na função start.
Em sua classe Java, faça o seguinte:
package JAVARuntime;
public class SuaClasse extends Component {
// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
private SUIImage meuComponente;
@Override
public void start() {
// busque o componente
meuComponente = (SUIImage) WorldController.findObject("Nome do objeto ao qual o componente está anexado").findComponent("SUIImage");
}
@Override
public void repeat() {
}
}
Fazendo uma busca direta do componente no próprio objeto que o script e o componente estão anexados por script.
- Basta criar uma variável privada do seu componente e buscá-lo na função start.
Em sua classe Java, faça o seguinte:
package JAVARuntime;
public class SuaClasse extends Component {
// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
private SUIImage meuComponente;
@Override
public void start() {
// busque o componente
meuComponente = myObject.findComponent("SUIImage");
}
@Override
public void repeat() {
}
}
Outra forma possível é usar uma variável do tipo SpatialObject.
- Basta criar uma variável pública do tipo SpatialObject, selecionar o objeto ao qual o componente está anexado no painel propriedades e utilizar os conceitos mostrados nos exemplos anteriores.
Em sua classe Java, faça o seguinte:
package JAVARuntime;
public class SuaClasse extends Component {
// objeto ao qual o componente está anexado
public SpatialObject objeto; // selecione nas propriedades
// apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
private SUIImage meuCompomente;
@Override
public void start() {
// busque o componente
meuComponente = objeto.findComponent("SUIImage");
}
@Override
public void repeat() {
}
}
Fazendo a busca automática usando uma anotação
⚠️ Só funciona se o script e o componente estiverem anexados no mesmo objeto ⚠️
- Basta criar uma variável privada do seu componente e usar a anotação
@AutoWired
na variável do componente.
Em sua classe Java, faça o seguinte:
package JAVARuntime;
public class SuaClasse extends Component {
@AutoWired
private SUIImage meuComponente; // apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente
@Override
public void start() {
// @AutoWired faz exatamente isso automaticamente
meuComponente = myObject.findComponent("SUIImage");
}
@Override
public void repeat() {
}
}
Buscando componentes de física
- É basicamente a mesma coisa que buscar um componente a partir das formas apresentadas, porém, para buscá-lo via script muda um pouco.
Em sua classe Java, faça o seguinte:
package JAVARuntime;
public class SuaClasse extends Component {
private Rigidbody meuComponente; // apenas a título de exemplo, este componente pode ser substituído por qualquer outro componente de física
public SpatialObject objeto; // objeto ao qual o componente está anexado
@Override
public void start() {
// busque o componente de física do objeto
meuComponente = objeto.getPhysics().getPhysicsEntity();
}
@Override
public void repeat() {
}
}