Changeset 6521 for code/branches/pickup3/src/orxonox
- Timestamp:
- Mar 15, 2010, 7:33:11 AM (15 years ago)
- Location:
- code/branches/pickup3/src/orxonox/interfaces
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/pickup3/src/orxonox/interfaces/PickupCarrier.h
r6518 r6521 46 46 namespace orxonox 47 47 { 48 48 49 49 class Pickup; 50 50 class HealthPickup; … … 175 175 virtual const Vector3& getCarrierPosition(void) = 0; 176 176 177 //TODO: Remove. 177 /** 178 @brief Get all Pickupables this PickupCarrier has. 179 @return Returns the set of all Pickupables this PickupCarrier has. 180 */ 178 181 std::set<Pickupable*>& getPickups(void) 179 182 { return this->pickups_; } -
code/branches/pickup3/src/orxonox/interfaces/Pickupable.cc
r6512 r6521 172 172 173 173 COUT(4) << "Pickupable (&" << this << ") got picked up by a PickupCarrier (&" << carrier << ")." << std::endl; 174 this->setCarrier(carrier); 174 175 this->setPickedUp(true); 175 this->setCarrier(carrier); 176 return true; 177 } 178 179 /** 180 @brief 181 Helper method to set the Pickupable to either picked up or not picked up. 182 @param pickedUp 183 The value this->pickedUp_ should be set to. 184 @return 185 Returns true if the pickedUp status was changed, false if not. 186 */ 187 bool Pickupable::setPickedUp(bool pickedUp) 188 { 189 if(this->pickedUp_ == pickedUp) 190 return false; 191 192 COUT(4) << "Pickupable (&" << this << ") set to pickedUp " << pickedUp << "." << std::endl; 193 194 this->pickedUp_ = pickedUp; 195 this->changedPickedUp(); 196 return true; 197 } 198 199 /** 200 @brief 201 Sets the carrier of the pickup. 202 @param carrier 203 Sets the input PickupCarrier as the carrier of the pickup. 204 */ 205 inline bool Pickupable::setCarrier(PickupCarrier* carrier) 206 { 207 if(this->carrier_ == carrier) 208 return false; 209 210 COUT(4) << "Pickupable (&" << this << ") changed Carrier (& " << carrier << ")." << std::endl; 211 212 this->carrier_ = carrier; 213 this->changedCarrier(); 176 214 return true; 177 215 } … … 205 243 } 206 244 207 208 /**209 @brief210 Sets the carrier of the pickup.211 @param carrier212 Sets the input PickupCarrier as the carrier of the pickup.213 @return214 Returns true if the carrier was changed, false if not.215 */216 bool Pickupable::setCarrier(PickupCarrier* carrier)217 {218 if(this->getCarrier() == carrier)219 return false;220 221 this->carrier_ = carrier;222 this->changedCarrier();223 return true;224 }225 226 245 /** 227 246 @brief … … 230 249 Returns the clone of this pickup as a pointer to a Pickupable. 231 250 */ 232 //TODO: Does this work?233 251 Pickupable* Pickupable::clone(void) 234 252 { -
code/branches/pickup3/src/orxonox/interfaces/Pickupable.h
r6519 r6521 70 70 */ 71 71 virtual void changedUsed(void) {} 72 bool setUsed(bool used); //!< Sets the Pickupable to used or unused, depending on the input. 72 73 /** 74 @brief Get the carrier of the pickup. 75 @return Returns a pointer to the carrier of the pickup. 76 */ 77 inline PickupCarrier* getCarrier(void) 78 { return this->carrier_; } 79 /** 80 @brief Should be called when the pickup has changed its PickupCarrier. 81 Any Class overwriting this method must call its SUPER function by adding SUPER(Classname, changedCarrier); to their changedCarrier method. 82 */ 83 virtual void changedCarrier(void) {} 73 84 74 85 /** … … 78 89 inline bool isPickedUp(void) 79 90 { return this->pickedUp_; } 91 /** 92 @brief Should be called when the pickup has transited from picked up to dropped or the other way around. 93 Any Class overwriting this method must call its SUPER function by adding SUPER(Classname, changedPickedUp); to their changedPickedUp method. 94 */ 95 virtual void changedPickedUp(void) {} 96 80 97 //TODO: Better private, or protected? 81 98 bool pickedUp(PickupCarrier* carrier); //!< Sets the Pickupable to picked up. … … 86 103 bool addTarget(PickupCarrier* target); //!< Add a PickupCarrier as target of this pickup. 87 104 bool addTarget(Identifier* identifier); //!< Add a class, representetd by the input Identifier, as target of this pickup. 88 89 /**90 @brief Get the carrier of the pickup.91 @return Returns a pointer to the carrier of the pickup.92 */93 inline PickupCarrier* getCarrier(void)94 { return this->carrier_; }95 /**96 @brief Should be called when the pickup has transited from picked up to dropped or the other way around.97 Any Class overwriting this method must call its SUPER function by adding SUPER(Classname, changedCarrier); to their changedCarrier method.98 */99 virtual void changedCarrier(void) {}100 //TODO: Maybe private?101 bool setCarrier(PickupCarrier* carrier); //!< Sets the carrier of the pickup.102 105 103 106 Pickupable* clone(void); //!< Creates a duplicate of the Pickupable. … … 113 116 virtual void destroy(void) 114 117 { delete this; } 118 119 //TODO: Make them work as protected. 120 bool setUsed(bool used); //!< Sets the Pickupable to used or unused, depending on the input. 121 bool setPickedUp(bool pickedUp); //!< Helper method to set the Pickupable to either picked up or not picked up. 122 bool setCarrier(PickupCarrier* carrier); //!< Sets the carrier of the pickup. 115 123 116 124 protected: … … 134 142 135 143 private: 136 /**137 @brief Helper method to set the Pickupable to either picked up or not picked up.138 @param pickedUp The value this->pickedUp_ should be set to.139 */140 inline void setPickedUp(bool pickedUp)141 { this->pickedUp_ = pickedUp; }142 144 143 145 bool used_; //!< Whether the pickup is currently in use or not. … … 151 153 SUPER_FUNCTION(10, Pickupable, changedUsed, false); 152 154 SUPER_FUNCTION(12, Pickupable, changedCarrier, false); 155 SUPER_FUNCTION(13, Pickupable, changedPickedUp, false); 153 156 } 154 157
Note: See TracChangeset
for help on using the changeset viewer.