- Timestamp:
- Nov 12, 2008, 2:20:51 PM (16 years ago)
- Location:
- code/branches/questsystem2/src/orxonox/objects/worldentities/triggers
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/questsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.cc
r2103 r2193 39 39 CreateFactory(DistanceTrigger); 40 40 41 DistanceTrigger::DistanceTrigger(BaseObject* creator) : Trigger(creator)41 DistanceTrigger::DistanceTrigger(BaseObject* creator) : PlayerTrigger(creator) 42 42 { 43 43 RegisterObject(DistanceTrigger); … … 45 45 this->distance_ = 100; 46 46 this->targetMask_.exclude(Class(BaseObject)); 47 this->player_ = NULL; 47 48 } 48 49 … … 117 118 Vector3 distanceVec = entity->getWorldPosition() - this->getWorldPosition(); 118 119 if (distanceVec.length() < this->distance_) 120 { 121 this->player_ = dynamic_cast<ControllableEntity*>(entity); 119 122 return true; 123 } 120 124 } 121 125 return false; 122 126 127 } 128 129 ControllableEntity* DistanceTrigger::getTriggeringPlayer(void) const 130 { 131 return this->player_; 123 132 } 124 133 -
code/branches/questsystem2/src/orxonox/objects/worldentities/triggers/DistanceTrigger.h
r2103 r2193 30 30 #define _DistanceTrigger_H__ 31 31 32 #include " Trigger.h"32 #include "PlayerTrigger.h" 33 33 34 34 #include <set> … … 37 37 #include "core/BaseObject.h" 38 38 39 #include "orxonox/objects/worldentities/ControllableEntity.h" 40 39 41 namespace orxonox 40 42 { 41 class _OrxonoxExport DistanceTrigger : public Trigger43 class _OrxonoxExport DistanceTrigger : public PlayerTrigger 42 44 { 43 45 public: … … 56 58 inline float getDistance() const 57 59 { return this->distance_; } 60 61 virtual ControllableEntity* getTriggeringPlayer(void) const; 58 62 59 63 bool checkDistance(); … … 66 70 std::set<Ogre::Node*> targetSet_; 67 71 float distance_; 72 73 ControllableEntity* player_; 74 68 75 }; 69 76 }
Note: See TracChangeset
for help on using the changeset viewer.