X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FTrigger.h;h=086985c48a54a9bc14d20ce25a820ac462b012c5;hb=0b11a24a8b08c49d6e4301573602fb6d01e7a8c8;hp=222f8138f98803cc9afaa4eb75f947684b144d98;hpb=3a8e247d08c44419e632f575d2c6a919ae42a236;p=l2e.git diff --git a/src/map/Trigger.h b/src/map/Trigger.h index 222f813..086985c 100644 --- a/src/map/Trigger.h +++ b/src/map/Trigger.h @@ -1,21 +1,20 @@ -/* - * 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 "../geometry/Vector.h" +#include "../math/Vector.h" namespace map { class Trigger { +public: + static const int TYPE_ID = 604; + public: Trigger(); ~Trigger() { } @@ -25,29 +24,32 @@ public: TYPE_EAST = Entity::ORIENTATION_EAST, TYPE_SOUTH = Entity::ORIENTATION_SOUTH, TYPE_WEST = Entity::ORIENTATION_WEST, - TYPE_CONTACT, + TYPE_CONTACT = 4, }; public: - const geometry::Vector &TilePosition() const { return tilePosition; } - Type GetType() const { return type; } + const math::Vector &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 &p) { tilePosition = p; } + void SetTilePosition(const math::Vector &p) { tilePosition = p; } void SetType(Type t) { type = t; } + void SetScript(common::Script *s) { script = s; } private: - geometry::Vector tilePosition; - Type type; - -// temporary members until scripting is implemented -public: - Map *map; - geometry::Vector target; + common::Script *script; + math::Vector tilePosition; + int type; }; } -#endif /* MAP_TRIGGER_H_ */ +#endif