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 e Argumentos 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 @.

Índice