]> git.localhorst.tv Git - l2e.git/blobdiff - src/map/Trigger.h
removed stupid file headers that eclipse put in
[l2e.git] / src / map / Trigger.h
index f1e9cb0089c189f7eb14d921c1a13947cdc1e2a4..78248589ee34fa226086840dd3702ca84614327e 100644 (file)
@@ -1,32 +1,50 @@
-/*
- * Trigger.h
- *
- *  Created on: Oct 3, 2012
- *      Author: holy
- */
-
 #ifndef MAP_TRIGGER_H_
 #define MAP_TRIGGER_H_
 
+#include "Entity.h"
+#include "fwd.h"
+#include "../common/Script.h"
 #include "../geometry/Vector.h"
 
 namespace map {
 
 class Trigger {
 
+public:
+       static const int TYPE_ID = 604;
+
 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 = 4,
+       };
+
 public:
        const geometry::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 SetType(Type t) { type = t; }
+       void SetScript(common::Script *s) { script = s; }
 
 private:
+       common::Script *script;
        geometry::Vector<int> tilePosition;
+       int type;
 
 };