35 lines
793 B
C++
35 lines
793 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() : 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_*/
|