#ifndef ENTITY_H
#define ENTITY_H

#include "sprite.h"
#include <string>

class IEntity
{
public:
    IEntity() {}
    virtual ~IEntity() {delete m_Sprite;}

    virtual void Update( int deltaT ) = 0;
    virtual void Draw( SDL_Surface* screen ) = 0;

    float m_X;
    float m_Y;

    bool m_Alive;

    std::string m_UID;

    CSprite* m_Sprite;
};

class IMovableEntity : public IEntity
{
public:
    IMovableEntity() {}
    virtual ~IMovableEntity() {}
/*
    virtual void Update( int deltaT ) = 0;
    virtual void Draw( SDL_Surface* screen ) = 0;
*/
    float m_XVel;
    float m_YVel;
	//virtual void Move() = 0;

};


#endif // ENTITY_H
