Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
|
Classe responsável por arrastar e posicionar Objetos. Mais...
#include <DragAndDrop.h>
Métodos Públicos | |
DragAndDrop (TileMap &map, Vec2 associatedInitialPos, GameObject &associated, bool redrag=true, bool dragOnActionHold=true) | |
Construtor. Mais... | |
void | Update (float dt) |
Atualiza o estado do objeto em arrasto. Mais... | |
bool | Is (ComponentType) const |
Informa que o tipo deste Compomente é DragAndDrop. Mais... | |
![]() | |
virtual | ~Component (void) |
Destrutor. Mais... | |
Atributos Privados | |
bool | dragOnHold |
Vec2 | associatedInitialPos |
TileMap & | tileMap |
bool | redrag |
GameObject & | associated |
Classe responsável por arrastar e posicionar Objetos.
O DragAndDrop é um tipo de Componente. O objetivo do DragAndDrop é selecionar um objeto arrastavel por meio de Input e posicioná-lo em uma tile. E assim, atualizar o mapa de Tiles.
DragAndDrop::DragAndDrop | ( | TileMap & | map, |
Vec2 | associatedInitialPos, | ||
GameObject & | associated, | ||
bool | redrag = true , |
||
bool | dragOnActionHold = true |
||
) |
Construtor.
map | Usado para inserir o objeto no tileMap. |
draggin | Informa se o objeto esta sendo arrastado. |
redrag | Verdadeiro se for um redrag, falso caso seja um drag inicial. |
forceDrag | |
dragOnActionHold | Tem como objetivo verificar se o arrastar é enquanto o botão da ação é segurado ou se pressiona uma vez para arrastar e outra vez para soltar. |
Instancia o DragAndDrop, informando se o objeto está sendo arrastado.
|
virtual |
Informa que o tipo deste Compomente é DragAndDrop.
CompomentType | A ser comparado se é igual ao Tipo desta classe. |
Retorna Verdadeiro se CompomentType também é do tipo DragAndDrop, caso contrário retorna falso.
Implementa Component.
|
virtual |
Atualiza o estado do objeto em arrasto.
Nesse método a lógica do drag and drop é implementada. Se o botão do drag estiver sendo segurado o objeto é arrastado mantendo seu centro onde o mouse está. Quando o botão relativo ao drag and drop é liberado chama-se o tileMap para iserir o GameObject no tile onde o mouse está.
Implementa Component.
|
private |
|
private |
Vec2 no qual o será armazenada a posição do objeto associado no instante do drag.
|
private |
[Não utilizado no momento] Armazena a informação se o botão deve ser segurado para arrastar, ou apenas pressiona uma vez para arrastar e outra vez para soltar.
|
private |
Informa se é um drag inicial ou um redrag
|
private |
TileMap no qual o GameObject será inserido após o drag.