Horus Eye/Documentação
Script Builder
O script deve possuir uma função chamada "generate", que recebe um número variável de strings como argumentos e devolve um descritor de WorldObject. Para cada campo descrito na lista abaixo, se ele estiver presente, será usado para gerar alguma parte do WorldObject.
Se, além disso, o script tiver uma função "build", que deve receber um WorldObject como único argumento e não devolve nada, ela também será usada para terminar de construir o WorldObject, porém sem o auxílio de um descritor. Isso significa que certas funcionalidades (como callbacks e o componente Logic) não estarão à disposição no contexto da função "build", apenas da "generate".
Descritor de WorldObject
Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
drawable | Drawable* | Não | Define o drawable do node do objeto |
timed_life | double | Não | Define o tempo de vida do objeto, em segundos |
on_die_callback | void (WorldObject*) | Não | Função chamada quando o objeto morre. Primeiro argumento é o próprio objeto. |
light_radius | double | Não | Define o raio da luz do objeto, em unidades de Horus |
collision | Descritor de CollisionObject | Não | Define o CollisionObject do objeto. |
Descritor de CollisionObject
Campo | Tipo | Obrigatório | Descrição |
---|---|---|---|
class | string | Sim | Define a classe de colisão |
shape | GeometricShape* | Sim | Define o shape |
known_collision | map<string, void (WorldObject*, WorldObject*) > | Não | Cada elemento do map define uma das colisões conhecidas por esse objeto. A chave é o nome da classe e o segundo é uma função que será chamada quando a colisão acontecer.
O primeiro argumento da função é o WorldObject atual (self) e o segundo é o objeto com o qual colidiu. |