#pragma once

#include "LDTypes.h"

#include <windows.h>


class Level;

class GameObject
{
  public:

    LD::TextureTypes      m_Texture;
    LD::GameObjectType    m_Type;
    int                   X;
    int                   Y;
    int                   Width;
    int                   Height;

    float                 XFract;
    float                 YFract;
    float                 Angle;
    bool                  RemoveMe;
    bool                  Hidden;



    GameObject( LD::GameObjectType Type );
    virtual ~GameObject();


    virtual void Display();
    virtual void Update( Level& Level, float ElapsedTime );

    virtual RECT    Bounds();

    virtual void OnObjectRemoved( Level& Level, GameObject* pKilledObject );

};

