35 lines
886 B
C++
35 lines
886 B
C++
#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_*/
|