//

//CGameObject.h


/*******************************************************
//
//	Name: CGameObject.h
//
//	Author: Dave Ratti
//
//	Date:12-22-01
//
//	Modified: 12-22-01
//
//	Notes: The base class that all other object will inherit from.
//
//
//
//
//
*********************************************************/

#ifndef COBJECT_H_
#define COBJECT_H_

#include <windows.h>


typedef enum
{
	typMap=0,
	typPlayer=1,
	typBlock=2,
	typBomb=3,
	typExplosion=4,
	typAIPlayer=5,
	typAIBombDangerZone=6

}ObjectType;


class CGameObject
{

public:

	CGameObject(){ };
	virtual ~CGameObject(){ };
	
	virtual void Shutdown();

	int ID;
	ObjectType typ;

	virtual void Update();
	virtual void Draw();
	virtual void drawBoundingBox();				//draws bounding box. good for debugging collision detection
	virtual void Collision(CGameObject* obj);
	virtual bool isInside(CGameObject* obj);

	int getX(){ return m_Position.x; };
	int getY(){ return m_Position.y; };

	void setX(int x);
	void setY(int y);

	RECT getBoundingBox(){ return m_boundingBox; };

	bool getCheckCollision(){ return m_checkCollision; };
	void setCheckCollision(bool c){ m_checkCollision=c; };
	



protected:

	RECT	m_boundingBox;	//simple bounding box for Collision Detection	
	POINT	m_Position;		//I dont know if this is the best implementation. may change to doubles
	bool	m_checkCollision;	//those objects with this set to false do not get checked with other falses.


};

#endif