#include "Entity.h"
#include "fwd.h"
+#include "../common/Script.h"
#include "../geometry/Vector.h"
namespace map {
TYPE_EAST = Entity::ORIENTATION_EAST,
TYPE_SOUTH = Entity::ORIENTATION_SOUTH,
TYPE_WEST = Entity::ORIENTATION_WEST,
- TYPE_CONTACT,
+ TYPE_CONTACT = 4,
};
public:
const geometry::Vector<int> &TilePosition() const { return tilePosition; }
- Type GetType() const { return type; }
+ Type GetType() const { return Type(type); }
+ bool HasScript() const { return script; }
+ common::Script &GetScript() { return *script; }
+ const common::Script &GetScript() const { return *script; }
+
+ static void CreateTypeDescription();
+ static void Construct(void *);
// temporary setters
public:
void SetTilePosition(const geometry::Vector<int> &p) { tilePosition = p; }
void SetType(Type t) { type = t; }
+ void SetScript(common::Script *s) { script = s; }
private:
+ common::Script *script;
geometry::Vector<int> tilePosition;
- Type type;
-
-// temporary members until scripting is implemented
-public:
- Map *map;
- geometry::Vector<int> target;
+ int type;
};