![]() |
Prodislexos Game
Cyberpunk Game
|
Classe base para entidades no jogo. Mais...
#include <Entity.h>
Membros Públicos | |
Entity (int x=0, int y=0) | |
Construtor padrão da classe Entity. Inicializa as coordenadas em (0, 0), configura a origem da entidade para o meio inferior da sprite e cria a hitbox com base na sprite. | |
Entity (sf::Texture &textura, int x=0, int y=0, bool colide=1) | |
Construtora com parâmetro de posição e textura. Faz as mesmas configurações da construtora sem parâmetro mas adiciona sprite e posição. | |
virtual | ~Entity () |
Destruidor da classe Entity. | |
virtual void | executar (float deltaTime) |
Método para executar a lógica da entidade. | |
sf::RectangleShape & | getHitBox () |
Retorna a hitbox da entidade. | |
void | setPosicao (int x, int y) |
Move o entidade até uma coordenada (x, y) | |
void | setPosicao (sf::Vector2f novaPosicao) |
Move a entidade até uma cordenada (x, y) | |
sf::Vector2f | getPosicao () const |
Retorna a coordenada da entidade em um vetor (x, y) | |
void | setOrigin () |
Configura a origem da sprite da entidade no meio da base da sprite. | |
void | criarHitBox () |
Cria e atualiza a hitbox da entidade com base na sprite ou hitbox personalizada e posição da entidade. | |
void | setHitBoxSize (sf::Vector2f size) |
Define o tamanho personalizado da hitBox. | |
void | setHitBoxOffset (sf::Vector2f offset) |
Define o offset(diferença) entre a sprite e a hitbox da entidade. | |
void | atualizaHitBox () |
Atualiza a posição da hitBox de acordo com a posição da entidade. | |
void | setNoChao (bool noChao) |
Atualiza estado a da entidade para no componete de física. | |
bool | getNoChao () const |
Retorna o estado da entidade no componente de física. | |
virtual void | colidiu (Entity *other)=0 |
Método virtual para lidar com colisões com outras entidades. | |
virtual void | colidiuComTile (Entity *e) |
Método virtual para lidar com colisões com tiles. | |
bool | getColisao () const |
![]() | |
Ente () | |
Construtora da classe-base Ente. | |
Ente (sf::Texture &figura) | |
Construtora com parâmetros da classe base Ente. | |
virtual | ~Ente () |
Destrutora da classe-base Ente. | |
void | renderizar (int camada=0) |
Método que renderiza o objeto na tela. | |
sf::Sprite | getSprite () const |
Retorna o sprite do Ente. | |
void | setTexture (sf::Texture &textura) |
Nova textura do Ente. | |
void | setSize (const sf::Vector2f &size) |
Muda o tamanho da sprite do ente baseado na escala. | |
sf::Vector2f | getOrigin () const |
Retorna a origem da sprite, o ponto por onde coordenada é orientada. | |
int | getId () const |
Atributos Protegidos | |
sf::Vector2f | posicao |
sf::Vector2f | velocidade |
bool | colisao |
sf::RectangleShape | hitBox |
PhysicsComponent | fisica |
sf::Vector2f | hitBoxSize |
sf::Vector2f | hitBoxOffset |
![]() | |
const int | id |
sf::Sprite | sprite |
Outros membros herdados | |
![]() | |
static int | cont = 0 |
static Gerenciador::Renderer * | gGrafico = Gerenciador::Renderer::getInstance() |
static Gerenciador::ResourceManager * | gRecursos = Gerenciador::ResourceManager::getInstance() |
Classe base para entidades no jogo.
Esta é uma classe abstrata que define a interface para todas as entidades no jogo. As classes derivadas devem implementar os métodos puros virtuais executar
.
Entity::Entity | ( | int | x = 0 , |
int | y = 0 |
||
) |
Construtor padrão da classe Entity. Inicializa as coordenadas em (0, 0), configura a origem da entidade para o meio inferior da sprite e cria a hitbox com base na sprite.
Entity::Entity | ( | sf::Texture & | textura, |
int | x = 0 , |
||
int | y = 0 , |
||
bool | colide = 1 |
||
) |
Construtora com parâmetro de posição e textura. Faz as mesmas configurações da construtora sem parâmetro mas adiciona sprite e posição.
x | coordenada no eixo x |
y | coordenada no eixo y |
textura | objeto textura do SFML |
|
inlinevirtual |
Destruidor da classe Entity.
O destruidor é virtual para garantir a destruição correta das classes derivadas.
void Entity::atualizaHitBox | ( | ) |
Atualiza a posição da hitBox de acordo com a posição da entidade.
|
pure virtual |
Método virtual para lidar com colisões com outras entidades.
Este método deve ser sobrescrito pelas classes derivadas para definir o comportamento específico quando uma colisão ocorre.
other | Ponteiro para a outra entidade que colidiu. |
Implementado por TileEngine::TileEntity e Player.
|
virtual |
Método virtual para lidar com colisões com tiles.
Este método deve ser sobrescrito pelas classes derivadas para definir o comportamento específico quando uma colisão com um tile ocorre.
e | Ponteiro para a entidade tile que colidiu. |
Reimplementado por TileEngine::TileEntity.
void Entity::criarHitBox | ( | ) |
Cria e atualiza a hitbox da entidade com base na sprite ou hitbox personalizada e posição da entidade.
|
virtual |
Método para executar a lógica da entidade.
Este método deve ser implementado pelas classes derivadas para definir o comportamento específico da entidade.
deltaTime | variação do tempo para aplicação das lógicas de gravidade, movimento, etc. |
Reimplementado por TileEngine::TileEntity, Character e Player.
|
inline |
sf::RectangleShape & Entity::getHitBox | ( | ) |
Retorna a hitbox da entidade.
bool Entity::getNoChao | ( | ) | const |
Retorna o estado da entidade no componente de física.
sf::Vector2f Entity::getPosicao | ( | ) | const |
Retorna a coordenada da entidade em um vetor (x, y)
void Entity::setHitBoxOffset | ( | sf::Vector2f | offset | ) |
Define o offset(diferença) entre a sprite e a hitbox da entidade.
offset | O offset da hitbox. |
void Entity::setHitBoxSize | ( | sf::Vector2f | size | ) |
Define o tamanho personalizado da hitBox.
size | tamanho da hitbox |
void Entity::setNoChao | ( | bool | noChao | ) |
Atualiza estado a da entidade para no componete de física.
noChao | noChao true se a entidade estiver no chão, false caso contrário. |
void Entity::setOrigin | ( | ) |
Configura a origem da sprite da entidade no meio da base da sprite.
void Entity::setPosicao | ( | int | x, |
int | y | ||
) |
Move o entidade até uma coordenada (x, y)
x | posição no eixo x |
y | posição no eixo y |
void Entity::setPosicao | ( | sf::Vector2f | novaPosicao | ) |
Move a entidade até uma cordenada (x, y)
novaPosicao | sf::Vector2f(float, float) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |