X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fmap%2FTrigger.h;h=13b85ac491a08a65b5264991bc6918fa2325f385;hb=238da3a706448d4c592460684e2a5a2c0eb81a04;hp=47f933be42263dc529ed3a7c6d203575a4edf26f;hpb=d8d0982340fc10e5161251a4b50223fabc7b4431;p=l2e.git diff --git a/src/map/Trigger.h b/src/map/Trigger.h index 47f933b..13b85ac 100644 --- a/src/map/Trigger.h +++ b/src/map/Trigger.h @@ -8,7 +8,9 @@ #ifndef MAP_TRIGGER_H_ #define MAP_TRIGGER_H_ +#include "Entity.h" #include "fwd.h" +#include "../common/Script.h" #include "../geometry/Vector.h" namespace map { @@ -19,20 +21,31 @@ public: Trigger(); ~Trigger() { } + enum Type { + TYPE_NORTH = Entity::ORIENTATION_NORTH, + TYPE_EAST = Entity::ORIENTATION_EAST, + TYPE_SOUTH = Entity::ORIENTATION_SOUTH, + TYPE_WEST = Entity::ORIENTATION_WEST, + TYPE_CONTACT, + }; + public: const geometry::Vector &TilePosition() const { return tilePosition; } + Type GetType() const { return type; } + bool HasScript() const { return script; } + common::Script &GetScript() { return *script; } + const common::Script &GetScript() const { return *script; } // temporary setters public: void SetTilePosition(const geometry::Vector &p) { tilePosition = p; } + void SetType(Type t) { type = t; } + void SetScript(common::Script *s) { script = s; } private: + common::Script *script; geometry::Vector tilePosition; - -// temporary members until scripting is implemented -public: - Map *map; - geometry::Vector target; + Type type; };