#include "actor.h" #include #include // Constructor Actor::Actor() { } // Constructor Actor::Actor(actor_t actor) { // Obten punteros a objetos asset = actor.asset; renderer = actor.renderer; // Crea objetos texture = new LTexture(renderer, asset->get(actor.tileset)); sprite = new AnimatedSprite(texture, renderer, asset->get(actor.animation)); // Obten el resto de valores sprite->setPosX(actor.x); sprite->setPosY(actor.y); sprite->setWidth(actor.w); sprite->setHeight(actor.h); sprite->setVelX(actor.vx); sprite->setVelY(actor.vy); sprite->setFlip(actor.vx > 0 ? SDL_FLIP_NONE : SDL_FLIP_HORIZONTAL); this->name = actor.name; } // Destructor Actor::~Actor() { texture->unload(); delete texture; texture = nullptr; delete sprite; sprite = nullptr; } // Pinta el enemigo en pantalla void Actor::render() { sprite->render(); } // Actualiza las variables del objeto void Actor::update() { sprite->update(); sprite->animate(); } // Obtiene el rectangulo de colision del enemigo SDL_Rect &Actor::getCollider() { collider = sprite->getRect(); return collider; } // Obtiene el nombre del actor actor_name_e Actor::getName() { return name; } // Obtiene el valor de la variable int Actor::getIncX() { return sprite->getIncX(); }