#ifndef LEVELOBJECT_H_
#define LEVELOBJECT_H_
#include "Object.h"
#include "Vertex.h"
#include <list>
class LevelObject : public Object {
private:
LevelObject *parent;
public:
LevelObject() : parent(NULL) {}
LevelObject(LevelObject *p) : parent(p) {}
virtual ~LevelObject() {}
LevelObject* getParent() const {
return parent;
}
virtual std::vector<SharedPtr<LevelObject> > getChildren() {
return std::vector<SharedPtr<LevelObject> >();
virtual bool hit(const Vertex &v, float scale) const = 0;
virtual int getPriority() const {return 0;}
virtual void move(float x, float y) {}
virtual void rotate(float a) {}
virtual Vertex getCenter() const {return Vertex();}
};
#endif /*LEVELOBJECT_H_*/