/*
	cSpace 
	cExistent들이 존재하는 공간
	cExistent들을 관리하는 단위
*/
#ifndef cSpace_H
#define cSpace_H

#include <list>


template <class cExistent>
class cSpace : public cActiveObject{

public:
	typedef std::list<cRealObject *> cObjectList;

protected:
	void ShowObjects(cPicture *pDestPic, int Left, int Top, LPRECT pSrcRect);
	
public:
	cObjectList ObjectList;

	cSpace();
	virtual ~cSpace();

	bool Open();
	virtual void Close();

	// 지역을 동작시킴, 물론 포함된 객체들도 동작
	virtual int Act();
	BOOL AddObject(cRealObject *pObject);

	// 지역의 모습을 그림으로 표현함
	virtual void Show(cPicture *pDestPic, int Left, int Top, LPRECT pSrcRect);

};

#endif
