-/*
- * Trigger.h
- *
- * Created on: Oct 3, 2012
- * Author: holy
- */
-
#ifndef MAP_TRIGGER_H_
#define MAP_TRIGGER_H_
+namespace common {
+ class Script;
+}
+
#include "Entity.h"
-#include "fwd.h"
-#include "../common/Script.h"
-#include "../geometry/Vector.h"
+#include "../math/Vector.h"
namespace map {
class Trigger {
+public:
+ static const int TYPE_ID = 604;
+
public:
Trigger();
~Trigger() { }
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; }
+ const math::Vector<int> &TilePosition() const { return tilePosition; }
+ 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 SetTilePosition(const math::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;
+ math::Vector<int> tilePosition;
+ int type;
};
}
-#endif /* MAP_TRIGGER_H_ */
+#endif