#ifndef ENTITY_H #define ENTITY_H #include "olcPGEX_Graphics2D.h" #include "olcPixelGameEngine.h" #include namespace pabloader { class Debuggers; class Entity { protected: Debuggers* game; olc::Sprite* sprite; olc::GFX2D::Transform2D transform; olc::vf2d pos; olc::vf2d vel; olc::vi2d size; olc::v2d_generic tile{ 0, 0 }; olc::v2d_generic tileDim{ 4, 4 }; float rotation = 0; float rotationSpeed = 0; bool alive = true; #ifdef _DEBUG olc::Pixel DEBUG_COLOR; #endif public: Entity(Debuggers* game, olc::Sprite* s); virtual ~Entity(){}; virtual void Update(float dt); virtual void Draw(); float GetX() { return pos.x; } float GetY() { return pos.y; } bool IsInScreen(); bool Collides(Entity* entity); float Dist(Entity* entity) { return (pos - entity->pos).mag(); } virtual bool IsActive(); virtual bool IsAlive(); virtual void ResetPosition(); virtual void Kill(); }; } #endif