/*
File Name: Thing.h
Created By: Andy Odle
Date: Oct 13, 2009

Description: 
    
    
*/
#ifndef Thing_h
#define Thing_h

enum Thing_Type
{
    SPRITE_T = 270,
    CAMERA_T,
    SOUND_T,
    BACKGROUND_T
};

class Thing
{
    
    public:
    
        Thing(int id_p, Thing_Type type_p) : id_m(id_p),
                                             type_m(type_p){}
    
        ~Thing(){}
    
        virtual void Initialize() = 0;
        virtual void Update() = 0;    
        virtual void Draw() = 0;
        virtual void Destory() = 0;
    
        int GetID(){return id_m;}
    
        Thing_Type GetType(){return type_m;}
    
    private:

        const int id_m;
        const Thing_Type type_m;    
};

#endif
