#ifndef LEVELOBJECT_H_
#define LEVELOBJECT_H_
#include "Object.h"
#include "Vertex.h"
#include <list>
class LevelObject : public Object {
private:
LevelObject *parent;
public:
LevelObject(LevelObject *p = NULL) : 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) const {return false;}
virtual bool hit(const Vertex &v, float scale) const {return hit(v);};
virtual int getPriority() const {return 0;}
virtual bool canMove() const {return false;}
virtual void move(float x, float y) {}
virtual bool canRotate() const {return false;}
virtual void rotate(Vertex m, float a) {}
};
#endif /*LEVELOBJECT_H_*/