Operadores
Operadores são eventos específicos que podem ser enviados e recebidos por widgets ou pelo gerenciador do BGForce, e a partir disso podem executar uma função pré-determinada. O BGForce provê alguns operadores padrão e dá ao usuário a possibilidade de criar operadores customizados.
Conceito
Operadores são disparados através de mensagens a partir de qualquer objeto, seja por blocos de lógica, Python ou a partir de commandos de widgets clicáveis. Com isso, o padrão de mensagens para disparar operadores é:
- Mensagens sem corpo
NomeDoOperador
como assunto (caso o operador não precise de argumentos)NomeDoOperador:Argumentos
como assunto (caso o operador aceite argumentos)
- Mensagens com corpo
NomeDoOperador
como assunto eArgumentos
como corpo (caso o operador aceite argumentos)
Exemplos:
# Operador sem argumentos
bge.logic.sendMessage("UpdateGui")
# Operador com argumentos passados junto ao assunto
bge.logic.sendMessage("UpdateGui:Formulario")
# Operador com argumentos passados no corpo da mensagem
bge.logic.sendMessage("UpdateGui", "Formulario")
O operador UpdateGui
é recebido apenas por widgets de interface de usuário,
já todos os outros operadores (sejam eles padrão ou customizados) precisam
da cena de gerenciador ScnManager
para funcionarem quando emitidos através de mensagens.
Os Widgets clicáveis
porém são capazes de disparar operadores sem a necessidade de um
ScnManager
para receber a
mensagem do operador. Essa funcionalidade se dá através do operador de
execução direta @
.