- Timestamp:
- Dec 23, 2009, 8:27:17 PM (15 years ago)
- Location:
- code/branches/pickup2/src
- Files:
-
- 8 added
- 12 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
code/branches/pickup2/src/libraries/core/Super.h
r5929 r6405 267 267 #define SUPER_changedGametype(classname, functionname, ...) \ 268 268 SUPER_NOARGS(classname, functionname) 269 270 #define SUPER_changedUsed(classname, functionname, ...) \ 271 SUPER_NOARGS(classname, functionname) 269 272 // (1/3) --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- 270 273 … … 515 518 516 519 SUPER_FUNCTION_GLOBAL_DECLARATION_PART1(9, changedGametype, false) 520 () 521 SUPER_FUNCTION_GLOBAL_DECLARATION_PART2; 522 523 SUPER_FUNCTION_GLOBAL_DECLARATION_PART1(10, changedUsed, false) 517 524 () 518 525 SUPER_FUNCTION_GLOBAL_DECLARATION_PART2; … … 570 577 SUPER_INTRUSIVE_DECLARATION(changedName); 571 578 SUPER_INTRUSIVE_DECLARATION(changedGametype); 579 SUPER_INTRUSIVE_DECLARATION(changedUsed); 572 580 // (3/3) --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- --> HERE <-- 573 581 -
code/branches/pickup2/src/modules/CMakeLists.txt
r5929 r6405 29 29 ADD_SUBDIRECTORY(objects) 30 30 ADD_SUBDIRECTORY(overlays) 31 ADD_SUBDIRECTORY(pickup) 31 32 ADD_SUBDIRECTORY(pong) 32 33 ADD_SUBDIRECTORY(questsystem) -
code/branches/pickup2/src/modules/pickup/PickupSpawner.cc
r5953 r6405 23 23 * Daniel 'Huty' Haggenmueller 24 24 * Co-authors: 25 * ...25 * Damian 'Mozork' Frick 26 26 * 27 27 */ … … 34 34 #include "PickupSpawner.h" 35 35 36 #include "BaseItem.h"37 38 36 #include "core/CoreIncludes.h" 39 #include "core/GUIManager.h" // HACK; see below37 //#include "core/GUIManager.h" // HACK; see below 40 38 #include "core/Template.h" 41 39 #include "core/XMLPort.h" 42 40 #include "worldentities/pawns/Pawn.h" 43 #include "PickupInventory.h" // HACK; Only for hack, remove later41 //#include "PickupInventory.h" // HACK; Only for hack, remove later 44 42 45 43 … … 47 45 { 48 46 49 const float PickupSpawner::bounceSpeed_s = 6.0f;50 const float PickupSpawner::rotationSpeed_s = 1.0f;51 const float PickupSpawner::bounceDistance_s = 4.0f;47 // const float PickupSpawner::bounceSpeed_s = 6.0f; 48 // const float PickupSpawner::rotationSpeed_s = 1.0f; 49 // const float PickupSpawner::bounceDistance_s = 4.0f; 52 50 53 51 CreateFactory(PickupSpawner); … … 64 62 } 65 63 66 PickupSpawner::PickupSpawner(BaseObject* creator, BaseItem* item, float triggerDistance, float respawnTime, int maxSpawnedItems) : StaticEntity(creator)64 PickupSpawner::PickupSpawner(BaseObject* creator, Pickupable* pickup, float triggerDistance, float respawnTime, int maxSpawnedItems) : StaticEntity(creator) 67 65 { 68 66 this->initialize(); 69 67 70 //TODO: Does this actually work? 71 this->itemTemplateName_ = item->getIdentifier()->getName(); 72 this->itemTemplate_ = Template::getTemplate(this->itemTemplateName_); 68 this->pickup_ = pickup; 73 69 74 70 this->triggerDistance_ = triggerDistance; … … 81 77 RegisterObject(PickupSpawner); 82 78 83 this->itemTemplate_ = NULL; 79 this->pickup_ = NULL; 80 84 81 this->triggerDistance_ = 20; 85 this->respawnTime_ = 0 .0f;86 this->tickSum_ = 0 .0f;82 this->respawnTime_ = 0; 83 this->tickSum_ = 0; 87 84 this->maxSpawnedItems_ = INF; 88 85 this->spawnsRemaining_ = INF; … … 110 107 SUPER(PickupSpawner, XMLPort, xmlelement, mode); 111 108 112 XMLPortParam(PickupSpawner, "item", setItemTemplateName, getItemTemplateName, xmlelement, mode); 109 XMLPortObject(PickupSpawner, Pickupable, "pickup", addPickupable, getPickupable, xmlelement, mode); 110 113 111 XMLPortParam(PickupSpawner, "triggerDistance", setTriggerDistance, getTriggerDistance, xmlelement, mode); 114 112 XMLPortParam(PickupSpawner, "respawnTime", setRespawnTime, getRespawnTime, xmlelement, mode); … … 119 117 // Load the GUI image as soon as the PickupSpawner gets loaded 120 118 // = less delays while running 121 BaseObject* newObject = this->itemTemplate_->getBaseclassIdentifier()->fabricate(this);122 BaseItem* asItem = orxonox_cast<BaseItem*>(newObject);123 if (asItem)124 {125 asItem->addTemplate(this->itemTemplate_);126 PickupInventory::getImageForItem(asItem);127 newObject->destroy();128 }119 // BaseObject* newObject = this->itemTemplate_->getBaseclassIdentifier()->fabricate(this); 120 // BaseItem* asItem = orxonox_cast<BaseItem*>(newObject); 121 // if (asItem) 122 // { 123 // asItem->addTemplate(this->itemTemplate_); 124 // PickupInventory::getImageForItem(asItem); 125 // newObject->destroy(); 126 // } 129 127 130 128 // & load the GUI itself too, along with some empty windows 131 129 // = even less delays 132 GUIManager::getInstance().showGUI("PickupInventory"); 133 GUIManager::getInstance().executeCode("hideGUI(\"PickupInventory\")"); 134 PickupInventory::getSingleton(); 130 // GUIManager::getInstance().showGUI("PickupInventory"); 131 // GUIManager::getInstance().executeCode("hideGUI(\"PickupInventory\")"); 132 // PickupInventory::getSingleton(); 133 } 134 135 void PickupSpawner::addPickupable(Pickupable* pickup) 136 { 137 if(this->pickup_ != NULL) 138 { 139 COUT(1) << "addPickupable called, with this->pickup_ already set." << std::endl; 140 return; 141 } 142 if(pickup == NULL) 143 { 144 COUT(1) << "Argument of addPickupable is NULL." << std::endl; 145 return; 146 } 147 148 this->pickup_ = pickup; 149 } 150 151 Pickupable* PickupSpawner::getPickupable(void) 152 { 153 return this->pickup_; 135 154 } 136 155 … … 139 158 Invoked when the activity has changed. Sets visibility of attached objects. 140 159 */ 141 void PickupSpawner::changedActivity() 142 { 143 SUPER(PickupSpawner, changedActivity); 144 145 for (std::set<WorldEntity*>::const_iterator it = this->getAttachedObjects().begin(); it != this->getAttachedObjects().end(); it++) 146 (*it)->setVisible(this->isActive()); 147 } 148 149 /** 150 @brief 151 Set the template name of the item to spawn, also loads the template. 152 @param name 153 Name of the new template. 154 */ 155 void PickupSpawner::setItemTemplateName(const std::string& name) 156 { 157 this->itemTemplateName_ = name; 158 this->itemTemplate_ = Template::getTemplate(name); 159 } 160 // void PickupSpawner::changedActivity() 161 // { 162 // SUPER(PickupSpawner, changedActivity); 163 // 164 // for (std::set<WorldEntity*>::const_iterator it = this->getAttachedObjects().begin(); it != this->getAttachedObjects().end(); it++) 165 // (*it)->setVisible(this->isActive()); 166 // } 160 167 161 168 void PickupSpawner::setMaxSpawnedItems(int items) … … 171 178 Time since last tick. 172 179 */ 173 //TODO: Replace this with a real DistanceTrigger .180 //TODO: Replace this with a real DistanceTrigger? 174 181 void PickupSpawner::tick(float dt) 175 182 { 183 //! If the PickupSpawner is active. 176 184 if (this->isActive()) 177 185 { 178 //! Triggers as soon as a Pawn is in the specified distance.186 //! Iterate trough all Pawns. 179 187 for (ObjectList<Pawn>::iterator it = ObjectList<Pawn>::begin(); it != ObjectList<Pawn>::end(); ++it) 180 188 { 181 189 Vector3 distance = it->getWorldPosition() - this->getWorldPosition(); 182 if (distance.length() < this->triggerDistance_) 190 //! If a Pawn, that fits the target-range of the item spawned by this Pickup, is in trigger-distance. 191 if (distance.length() < this->triggerDistance_ && this->pickup_->isTarget(*it)) 192 { 183 193 this->trigger(*it); 194 } 184 195 } 185 196 186 197 //! Animation. 187 this->yaw(Radian(rotationSpeed_s*dt));188 this->tickSum_ += bounceSpeed_s*dt;189 this->translate(Vector3(0,bounceDistance_s*dt*sin(this->tickSum_),0));190 if (this->tickSum_ > 2*Ogre::Math::PI)191 this->tickSum_ -= 2*Ogre::Math::PI;198 // this->yaw(Radian(rotationSpeed_s*dt)); 199 // this->tickSum_ += bounceSpeed_s*dt; 200 // this->translate(Vector3(0,bounceDistance_s*dt*sin(this->tickSum_),0)); 201 // if (this->tickSum_ > 2*Ogre::Math::PI) 202 // this->tickSum_ -= 2*Ogre::Math::PI; 192 203 } 193 204 } … … 205 216 void PickupSpawner::trigger(Pawn* pawn) 206 217 { 207 if (this->isActive() && this->itemTemplate_ && this->itemTemplate_->getBaseclassIdentifier()) //!< Checks whether PickupItem is active, amongst other things. 208 { 209 BaseItem* item = this->getItem(); 210 if (item != NULL) //!< If the conversion was successful. 218 //TODO: If private, isActive doesn't need to be tested anymore. 219 if (this->isActive()) //!< Checks whether PickupItem is active. 220 { 221 Pickupable* pickup = this->getPickup(); 222 if (pickup != NULL) //!< If everything went ok, and pickup is not NULL. 211 223 { 212 item->setPickupIdentifier(this->itemTemplateName_); //TODO: Needed? 213 item->addTemplate(this->itemTemplate_); //TODO: Does what? 214 215 if(item->pickedUp(pawn)) 216 { 217 COUT(3) << this->itemTemplateName_ << " got picked up." << std::endl; 218 219 220 if(this->spawnsRemaining_ != INF) 221 { 222 this->spawnsRemaining_--; 223 } 224 225 if (this->spawnsRemaining_ != 0 && this->respawnTime_ > 0.0f) 226 { 227 this->respawnTimer_.setTimer(this->respawnTime_, false, createExecutor(createFunctor(&PickupSpawner::respawnTimerCallback, this))); 228 229 this->setActive(false); 230 this->fireEvent(); 231 } 224 PickupCarrier* carrier = dynamic_cast<PickupCarrier*>(pawn); 225 if(carrier == NULL) 226 { 227 COUT(1) << "This is bad. Pawn isn't PickupCarrier." << std::endl; 228 return; 229 } 230 231 if(pickup->pickup(carrier)) 232 { 233 COUT(3) << "Pickup got picked up." << std::endl; 234 235 this->decrementSpawnsRemaining(); 232 236 } 233 237 else 234 238 { 235 item->destroy();239 pickup->destroy(); 236 240 } 237 241 } 238 242 } 239 240 if(this->spawnsRemaining_ == 0) 243 } 244 245 void PickupSpawner::decrementSpawnsRemaining(void) 246 { 247 if(this->spawnsRemaining_ != INF) 248 { 249 this->spawnsRemaining_--; 250 } 251 if(this->spawnsRemaining_ != 0 && this->respawnTime_ > 0) 252 { 253 //TODO: Nicer? 254 this->respawnTimer_.setTimer(this->respawnTime_, false, createExecutor(createFunctor(&PickupSpawner::respawnTimerCallback, this))); 255 256 this->setActive(false); 257 this->fireEvent(); 258 } 259 else 241 260 { 242 261 COUT(3) << "PickupSpawner empty, selfdistruct initialized." << std::endl; 243 262 this->setActive(false); 244 this->destroy(); 245 } 246 } 247 248 /** 249 @brief 250 Creates a BaseItem of the type specified by the PickupSpawner.263 this->destroy(); //TODO: Implement destroy(). 264 } 265 } 266 267 /** 268 @brief 269 Creates a new Pickupable. 251 270 @return 252 The BaseItemcreated.271 The Pickupable created. 253 272 */ 254 BaseItem* PickupSpawner::getItem(void) 255 { 256 BaseObject* newItem = this->itemTemplate_->getBaseclassIdentifier()->fabricate(this); //!< Creates new object of specified item type. 257 return orxonox_cast<BaseItem*>(newItem); 273 Pickupable* PickupSpawner::getPickup(void) 274 { 275 if(this->spawnsRemaining_ == 0) 276 { 277 COUT(1) << "Massive Error: PickupSpawner still alive until having spawned last item." << std::endl; 278 return NULL; 279 } 280 281 Pickupable* pickup = this->pickup_->clone(); 282 return pickup; 258 283 } 259 284 -
code/branches/pickup2/src/modules/pickup/PickupSpawner.h
r5953 r6405 35 35 #define _PickupSpawner_H__ 36 36 37 #include " OrxonoxPrereqs.h"37 #include "pickup/PickupPrereqs.h" 38 38 39 39 #include <string> … … 41 41 #include "tools/interfaces/Tickable.h" 42 42 #include "worldentities/StaticEntity.h" 43 #include "interfaces/Pickupable.h" 43 44 44 45 namespace orxonox … … 51 52 { 52 53 public: 53 //TODO: Add limit of items spawned here. Also possibility to spawn collections?54 //TODO: Add limit of items spawned here. 54 55 PickupSpawner(BaseObject* creator); 55 PickupSpawner(BaseObject* creator, BaseItem* item, float triggerDistance, float respawnTime, int maxSpawnedItems);56 PickupSpawner(BaseObject* creator, Pickupable* pickup, float triggerDistance, float respawnTime, int maxSpawnedItems); 56 57 virtual ~PickupSpawner(); 57 58 … … 59 60 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); //!< Method for creating a PickupSpawner through XML. 60 61 virtual void tick(float dt); 61 62 void trigger(Pawn* pawn); //!< Method called when a Pawn is close enough.63 void respawnTimerCallback(); //!< Method called when the timer runs out.64 65 /**66 @brief Get the template name for the item to spawn.67 @return Returns the name of the template of the item to spawn.68 */69 inline const std::string& getItemTemplateName() const70 { return this->itemTemplateName_; }71 void setItemTemplateName(const std::string& name); //!< Set the template name of the item to spawn.72 73 /**74 @brief Get the template for the item to spawn.75 @return Returns the template of the item to spawn.76 */77 inline Template* getItemTemplate() const78 { return this->itemTemplate_; }79 62 80 63 /** … … 110 93 111 94 protected: 112 virtual BaseItem* getItem(void); 95 virtual Pickupable* getPickup(void); 96 97 void addPickupable(Pickupable* pickup); 98 Pickupable* getPickupable(void); 99 100 void decrementSpawnsRemaining(void); 113 101 114 102 private: 115 103 void initialize(void); 104 105 void trigger(Pawn* pawn); //!< Method called when a Pawn is close enough. 106 void respawnTimerCallback(); //!< Method called when the timer runs out. 116 107 117 std::string itemTemplateName_; //!< Template name of the item to spawn.118 Template* itemTemplate_; //!< Template of the item to spawn.108 109 Pickupable* pickup_; 119 110 120 111 int maxSpawnedItems_; //!< Maximum number of items spawned by this PickupSpawner. -
code/branches/pickup2/src/modules/weapons/projectiles/Projectile.cc
r5929 r6405 123 123 124 124 float dmg = this->damage_; 125 if (this->owner_) 126 dmg = this->owner_->getPickups().processModifiers(ModifierType::Damage, dmg, false); 125 //TODO: Remove. 126 // if (this->owner_) 127 // dmg = this->owner_->getPickups().processModifiers(ModifierType::Damage, dmg, false); 127 128 128 129 Pawn* victim = orxonox_cast<Pawn*>(otherObject); -
code/branches/pickup2/src/orxonox/CMakeLists.txt
r5929 r6405 46 46 ADD_SUBDIRECTORY(items) 47 47 ADD_SUBDIRECTORY(overlays) 48 ADD_SUBDIRECTORY(pickup)49 48 ADD_SUBDIRECTORY(sound) 50 49 ADD_SUBDIRECTORY(weaponsystem) … … 55 54 TOLUA_FILES 56 55 LevelManager.h 57 pickup/BaseItem.h58 pickup/PickupInventory.h59 56 DEFINE_SYMBOL 60 57 "ORXONOX_SHARED_BUILD" -
code/branches/pickup2/src/orxonox/OrxonoxPrereqs.h
r5929 r6405 117 117 class GametypeMessageListener; 118 118 class NotificationListener; 119 class Pickupable; 120 class PickupCarrier; 119 121 class PlayerTrigger; 120 122 class RadarListener; … … 133 135 class OrxonoxOverlay; 134 136 class OverlayGroup; 135 136 // pickup137 class BaseItem;138 class DroppedItem;139 class EquipmentItem;140 class ModifierPickup;141 class PassiveItem;142 class PickupCollection;143 class PickupInventory;144 class PickupSpawner;145 class UsableItem;146 // pickup, items147 class HealthImmediate;148 class HealthUsable;149 class Jump;150 137 151 138 //sound -
code/branches/pickup2/src/orxonox/interfaces/InterfaceCompilation.cc
r5929 r6405 34 34 35 35 #include "GametypeMessageListener.h" 36 #include "Pickupable.h" 37 #include "PickupCarrier.h" 36 38 #include "PlayerTrigger.h" 37 39 #include "RadarListener.h" … … 51 53 RegisterRootObject(GametypeMessageListener); 52 54 } 55 56 //---------------------------- 57 // Pickupable 58 //---------------------------- 59 Pickupable::Pickupable() 60 { 61 RegisterRootObject(Pickupable); 53 62 63 this->used_ = false; 64 this->owner_ = NULL; 65 } 66 67 //---------------------------- 68 // PickupCarrier 69 //---------------------------- 70 PickupCarrier::PickupCarrier() 71 { 72 RegisterRootObject(PickupCarrier); 73 } 74 75 //---------------------------- 76 // PlayerTrigger 77 //---------------------------- 78 PlayerTrigger::PlayerTrigger() 79 { 80 RegisterRootObject(PlayerTrigger); 81 82 this->player_ = NULL; 83 this->isForPlayer_ = true; 84 } 85 54 86 //---------------------------- 55 87 // RadarListener … … 83 115 RegisterRootObject(NotificationListener); 84 116 } 85 86 //----------------------------87 // PlayerTrigger88 //----------------------------89 PlayerTrigger::PlayerTrigger()90 {91 RegisterRootObject(PlayerTrigger);92 93 this->player_ = NULL;94 this->isForPlayer_ = true;95 }96 117 } -
code/branches/pickup2/src/orxonox/items/Engine.cc
r5929 r6405 35 35 #include "Scene.h" 36 36 #include "worldentities/pawns/SpaceShip.h" 37 #include "pickup/ModifierType.h" 37 //TODO: Remove. 38 //#include "pickup/ModifierType.h" 38 39 #include "tools/Shader.h" 39 40 … … 193 194 } 194 195 195 this->ship_->setAcceleration(this->ship_->getPickups().processModifiers(ModifierType::Acceleration, this->ship_->getOrientation() * acceleration, false)); 196 //TODO: Remove. 197 //this->ship_->setAcceleration(this->ship_->getPickups().processModifiers(ModifierType::Acceleration, this->ship_->getOrientation() * acceleration, false)); 196 198 197 199 if (!this->ship_->getPermanentBoost()) -
code/branches/pickup2/src/orxonox/pickup/CMakeLists.txt
r5781 r6405 1 1 ADD_SOURCE_FILES(ORXONOX_SRC_FILES 2 2 BaseItem.cc 3 DroppedItem.cc4 3 EquipmentItem.cc 5 4 ModifierPickup.cc … … 7 6 PickupCollection.cc 8 7 PickupInventory.cc 9 PickupSpawner.cc10 8 UsableItem.cc 11 9 ) -
code/branches/pickup2/src/orxonox/pickup/PickupCollection.cc
r5781 r6405 52 52 53 53 /** 54 @brief 55 Add an item to the collection. 56 57 Only adds the item if there's a free slot for it. 58 59 @param item Item to add to the collection. 60 @return Returns whether the item has been added to the collection. 54 @brief 55 Add an item to the collection. 56 57 Only adds the item if there's a free slot for it. 58 59 @param item 60 Item to add to the collection. 61 @return 62 Returns whether the item has been added to the collection. 61 63 */ 62 64 bool PickupCollection::add(BaseItem* item) -
code/branches/pickup2/src/orxonox/pickup/PickupCollection.h
r5947 r6405 50 50 @author Daniel 'Huty' Haggenmueller 51 51 */ 52 class _OrxonoxExport PickupCollection 52 class _OrxonoxExport PickupCollection : public orxonox::OrxonoxClass 53 53 { 54 54 public: 55 //TODO: Should probably be derived from OrxonoxClass???56 55 PickupCollection(); 57 56 … … 65 64 void remove(BaseItem* item, bool removeAllOfType = false); //!< Remove an item from the collection. 66 65 67 //TODO: What's up with that?66 //TODO: Hmm... probably should stay... 68 67 void useItem(); //!< Use the first usable item. 69 68 void useItem(UsableItem* item); //!< Use a usable item. 70 71 //TODO: This really shouldn't be here. It's nbot the Collections business to know about stuff like that.72 void addAdditiveModifier(ModifierType::Value type, float value); //!< Add an additive modifier.73 void addMultiplicativeModifier(ModifierType::Value type, float value); //!< Add a multiplicative modifier.74 75 float getAdditiveModifier(ModifierType::Value type); //!< Get total additive modifier.76 float getMultiplicativeModifier(ModifierType::Value type); //!< Get total multiplicative modifier.77 78 void removeAdditiveModifier(ModifierType::Value type, float value); //!< Remove an additive modifier.79 void removeMultiplicativeModifier(ModifierType::Value type, float value); //!< Remove a multiplicative modifier.80 81 float processModifiers(ModifierType::Value type, float inputValue, bool addBeforeMultiplication = false); //!< Apply the modifiers to a float.82 Vector3 processModifiers(ModifierType::Value type, Vector3 inputValue, bool addBeforeMultiplication = false); //!< Apply the modifiers to a Vector3.83 84 /**85 @brief Get the map of contained items.86 @return The map of items.87 */88 std::multimap<std::string, BaseItem*> getItems() const89 { return this->items_; }90 69 91 70 /** … … 110 89 std::deque<PassiveItem*> getPassiveItems(); //!< Get a list of passive items. 111 90 std::deque<UsableItem*> getUsableItems(); //!< Get a list of usable items. 91 112 92 private: 113 Pawn* owner_; 93 Pawn* owner_; //!< The owner of the PickupCollection. 114 94 UsableItem* currentUsable_; 115 116 bool bBlockRemovals_; //!< Whether to block direct removals through remove(). 117 118 std::multimap<ModifierType::Value, float> additiveModifiers_; //!< Contains additive modifiers (indexed by ModifierType). 119 std::multimap<ModifierType::Value, float> multiplicativeModifiers_; //!< Contains multiplicative modifiers (indexed by ModifierType). 95 int slots_; 120 96 121 97 std::multimap<std::string, BaseItem*> items_; //!< Map of items in the collection (indexed by pickupIdentifier of the items). -
code/branches/pickup2/src/orxonox/worldentities/pawns/Pawn.cc
r5929 r6405 70 70 this->spawnparticleduration_ = 3.0f; 71 71 72 this->getPickups().setOwner(this); 72 //TODO: Remove. 73 //this->getPickups().setOwner(this); 73 74 74 75 if (GameMode::isMaster()) … … 295 296 } 296 297 297 void Pawn::dropItems() 298 { 299 this->getPickups().clear(); 300 } 298 //TODO: Remove. 299 // void Pawn::dropItems() 300 // { 301 // this->getPickups().clear(); 302 // } 301 303 302 304 -
code/branches/pickup2/src/orxonox/worldentities/pawns/Pawn.h
r5781 r6405 35 35 #include "interfaces/RadarViewable.h" 36 36 #include "worldentities/ControllableEntity.h" 37 #include "pickup/PickupCollection.h" 37 //TODO: Remove. 38 //#include "pickup/PickupCollection.h" 38 39 39 40 namespace orxonox … … 109 110 { return this->numexplosionchunks_; } 110 111 111 virtual void dropItems(); 112 inline PickupCollection& getPickups() 113 { return this->pickups_; } 114 virtual void useItem() 115 { this->pickups_.useItem(); } 112 //TODO: Remove. 113 // virtual void dropItems(); 114 // inline PickupCollection& getPickups() 115 // { return this->pickups_; } 116 // virtual void useItem() 117 // { this->pickups_.useItem(); } 116 118 117 119 virtual void startLocalHumanControl(); … … 128 130 bool bAlive_; 129 131 130 PickupCollection pickups_; 132 //TODO: Remove. 133 //PickupCollection pickups_; 131 134 132 135 float health_;
Note: See TracChangeset
for help on using the changeset viewer.