Horus Eye/Documentação

From USPGameDev Wiki
Jump to navigation Jump to search

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.

Extra

Template:Esboço