mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-05-28 17:16:29 +03:00
Now header files are inside the include folder, and the source files inside src. Moved the projects files inside a projects folder. Precompiled static libs will be inside libs folder.
47 lines
938 B
C++
47 lines
938 B
C++
#ifndef EE_GAMINGCOBJECTLAYER_HPP
|
|
#define EE_GAMINGCOBJECTLAYER_HPP
|
|
|
|
#include <eepp/gaming/clayer.hpp>
|
|
#include <eepp/gaming/cgameobject.hpp>
|
|
|
|
namespace EE { namespace Gaming {
|
|
|
|
class cMap;
|
|
|
|
class EE_API cObjectLayer : public cLayer {
|
|
public:
|
|
typedef std::list<cGameObject*> ObjList;
|
|
|
|
virtual ~cObjectLayer();
|
|
|
|
virtual void Draw( const eeVector2f &Offset = eeVector2f(0,0) );
|
|
|
|
virtual void Update();
|
|
|
|
virtual void AddGameObject( cGameObject * obj );
|
|
|
|
virtual void RemoveGameObject( cGameObject * obj );
|
|
|
|
virtual void RemoveGameObject( const eeVector2i& pos );
|
|
|
|
virtual cGameObject * GetObjectOver( const eeVector2i& pos );
|
|
|
|
virtual Uint32 GetObjectCount() const;
|
|
protected:
|
|
friend class cMap;
|
|
|
|
ObjList mObjects;
|
|
|
|
cObjectLayer( cMap * map, Uint32 flags, std::string name = "", eeVector2f offset = eeVector2f(0,0) );
|
|
|
|
void AllocateLayer();
|
|
|
|
void DeallocateLayer();
|
|
|
|
ObjList& GetObjectList();
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|