Changeset 6965
- Timestamp:
- May 24, 2010, 4:59:23 PM (15 years ago)
- Location:
- code/branches/presentation3
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/presentation3/data/gui/scripts/PickupInventory.lua
r6906 r6965 6 6 P.wrapper = nil 7 7 P.detailsWindows = {} 8 P.pickupsList = {} 9 10 P.showing = false 11 12 -- Design parameters 13 P.imageHeight = 50 14 P.detailImageSize = 100 15 P.textHeight = 30 16 P.buttonWidth = 85 8 17 9 18 function P.onLoad() … … 13 22 function P.onShow() 14 23 P.createInventory() 24 P.showing = true 15 25 end 16 26 17 27 function P.onHide() 28 P.showing = false 18 29 P.cleanup() 19 30 end 20 31 21 32 function P.update() 33 if P.showing == false then 34 return 35 end 36 22 37 P.cleanup() 23 38 … … 27 42 function P.createInventory() 28 43 local pickupManager = orxonox.PickupManager:getInstance() 29 local carrier = pickupManager:getPawn()30 44 31 45 local root = winMgr:getWindow("orxonox/PickupInventory/Inventory") … … 34 48 root:addChildWindow(P.wrapper) 35 49 36 P.carrierList = {} 37 38 --Design parameters: 39 local space = 15 40 41 P.getCarrierList(carrier) 50 P.pickupsList = {} 51 52 local numPickups = pickupManager:getNumPickups() 53 local counter = 1 42 54 local offset = 0 43 for k,v in pairs(P.carrierList) do 44 local window = P.createCarrierBox(v,k) 55 while counter <= numPickups do 56 local pickup = pickupManager:popPickup() 57 table.insert(P.pickupsList, pickup) 58 local window = P.createPickupEntry(counter, pickup) 45 59 window:setYPosition(CEGUI.UDim(0,offset)) 46 offset = offset + window:getHeight():asAbsolute(1) + space60 offset = offset + window:getHeight():asAbsolute(1) 47 61 P.wrapper:addChildWindow(window) 48 end 49 end 50 51 function P.getCarrierList(carrier) 52 53 -- TODO: Test for nil or 0? 54 if carrier == nil then 55 return 56 end 57 58 table.insert(P.carrierList, carrier) 59 60 local numCarriers = orxonox.PickupManager:getInstance():getNumCarrierChildren(carrier) 61 if numCarriers == 0 then 62 return 63 end 64 65 for i=0,numCarriers-1,1 do 66 local child = orxonox.PickupManager:getInstance():getCarrierChild(i, carrier) 67 if child ~= nil then 68 P.getCarrierList(child) 69 end 70 end 71 end 72 73 function P.createCarrierBox(carrier, index) 74 75 local name = "orxonox/PickupInventory/Carrier" .. index 76 77 --Design parameters: 78 local imageHeight = 50 79 local textHeight = 30 80 local horizontalOffset = 20 81 local buttonWidth = 85 82 83 local offset = 0 84 85 local box = winMgr:createWindow("MenuWidgets/ScrollablePane", name .. "/Box") 86 box:setPosition(CEGUI.UVector2(CEGUI.UDim(0, horizontalOffset), CEGUI.UDim(0, 0))) 87 box:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -horizontalOffset), CEGUI.UDim(1, 0))) 88 89 local numPickups = orxonox.PickupManager:getInstance():getNumPickups(carrier) 90 for i=0,numPickups-1,1 do 91 local pickup = orxonox.PickupManager:getInstance():getPickupRepresentation(i, carrier) 92 93 local item = winMgr:createWindow("MenuWidgets/StaticText", name .. "/Box/Pickup" .. i) 94 item:setSize(CEGUI.UVector2(CEGUI.UDim(1, -horizontalOffset), CEGUI.UDim(0, imageHeight))) 95 item:setPosition(CEGUI.UVector2(CEGUI.UDim(0, horizontalOffset), CEGUI.UDim(0, offset))) 96 box:addChildWindow(item) 97 offset = offset + imageHeight+5 98 99 local image = winMgr:createWindow("MenuWidgets/StaticImage", name .. "/Box/Pickup" .. i .. "/Image") 100 image:setProperty("Image", "set:PickupInventory image:" .. pickup:getInventoryRepresentation()) 101 image:setProperty("BackgroundEnabled", "set:False") 102 image:setProperty("FrameEnabled", "set:True") 103 image:setSize(CEGUI.UVector2(CEGUI.UDim(0, imageHeight), CEGUI.UDim(0, imageHeight))) 104 item:addChildWindow(image) 105 106 local title = winMgr:createWindow("MenuWidgets/StaticText", name .. "/Box/Pickup" .. i .. "/Title") 107 title:setPosition(CEGUI.UVector2(CEGUI.UDim(0, imageHeight+5), CEGUI.UDim(0, (imageHeight-textHeight)/2))) 108 title:setSize(CEGUI.UVector2(CEGUI.UDim(0.4, 0), CEGUI.UDim(0, textHeight))) 109 title:setText(pickup:getPickupName()) 110 title:setProperty("FrameEnabled", "set:False") 111 item:addChildWindow(title) 112 113 local useButton = winMgr:createWindow("MenuWidgets/Button", name .. "/Box/Pickup" .. i .. "/UseButton") 114 useButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.4, imageHeight+10),CEGUI.UDim(0, (imageHeight-textHeight)/2))) 115 useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, textHeight))) 62 counter = counter + 1 63 end 64 65 end 66 67 function P.createPickupEntry(index, pickup) 68 local representation = orxonox.PickupManager:getInstance():getPickupRepresentation(pickup) 69 70 local name = "orxonox/PickupInventory/Box/Pickup" .. index 71 72 local item = winMgr:createWindow("MenuWidgets/StaticText", name) 73 item:setSize(CEGUI.UVector2(CEGUI.UDim(1, 0), CEGUI.UDim(0, P.imageHeight))) 74 item:setPosition(CEGUI.UVector2(CEGUI.UDim(0, 0), CEGUI.UDim(0, 0))) 75 76 local image = winMgr:createWindow("MenuWidgets/StaticImage", name .. "/Image") 77 image:setProperty("Image", "set:PickupInventory image:" .. representation:getInventoryRepresentation()) 78 image:setProperty("BackgroundEnabled", "set:False") 79 image:setProperty("FrameEnabled", "set:True") 80 image:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.imageHeight), CEGUI.UDim(0, P.imageHeight))) 81 item:addChildWindow(image) 82 83 local title = winMgr:createWindow("MenuWidgets/StaticText", name .. "/Title") 84 title:setPosition(CEGUI.UVector2(CEGUI.UDim(0, P.imageHeight+5), CEGUI.UDim(0, (P.imageHeight-P.textHeight)/2))) 85 title:setSize(CEGUI.UVector2(CEGUI.UDim(0.4, 0), CEGUI.UDim(0, P.textHeight))) 86 title:setText(representation:getPickupName()) 87 title:setProperty("FrameEnabled", "set:False") 88 item:addChildWindow(title) 89 90 local useButton = winMgr:createWindow("MenuWidgets/Button", name .. "/UseButton") 91 useButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.4, P.imageHeight+10),CEGUI.UDim(0, (P.imageHeight-P.textHeight)/2))) 92 useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.buttonWidth), CEGUI.UDim(0, P.textHeight))) 93 if pickup:isUsed() == false then 116 94 useButton:setText("use") 117 95 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseButton_clicked") 118 item:addChildWindow(useButton) 119 120 local dropButton = winMgr:createWindow("MenuWidgets/Button", name .. "/Box/Pickup" .. i .. "/DropButton") 121 dropButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.4, imageHeight+15+buttonWidth),CEGUI.UDim(0, (imageHeight-textHeight)/2))) 122 dropButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, textHeight))) 123 dropButton:setText("drop") 124 orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P.name .. ".InventoryDropButton_clicked") 125 item:addChildWindow(dropButton) 126 127 local detailsButton = winMgr:createWindow("MenuWidgets/Button", name .. "/Box/Pickup" .. i .. "/DetailsButton") 128 detailsButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.4, imageHeight+20+2*buttonWidth),CEGUI.UDim(0, (imageHeight-textHeight)/2))) 129 detailsButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, textHeight))) 130 detailsButton:setText("details") 131 orxonox.GUIManager:subscribeEventHelper(detailsButton, "Clicked", P.name .. ".InventoryDetailsButton_clicked") 132 item:addChildWindow(detailsButton) 133 end 134 135 box:setHeight(CEGUI.UDim(0,offset)) 136 137 return box 96 else 97 useButton:setText("unuse") 98 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUnuseButton_clicked") 99 end 100 item:addChildWindow(useButton) 101 102 local dropButton = winMgr:createWindow("MenuWidgets/Button", name .. "/DropButton") 103 dropButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.4, P.imageHeight+15+P.buttonWidth),CEGUI.UDim(0, (P.imageHeight-P.textHeight)/2))) 104 dropButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.buttonWidth), CEGUI.UDim(0, P.textHeight))) 105 dropButton:setText("drop") 106 orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P.name .. ".InventoryDropButton_clicked") 107 item:addChildWindow(dropButton) 108 109 local detailsButton = winMgr:createWindow("MenuWidgets/Button", name .. "/DetailsButton") 110 detailsButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.4, P.imageHeight+20+2*P.buttonWidth),CEGUI.UDim(0, (P.imageHeight-P.textHeight)/2))) 111 detailsButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.buttonWidth), CEGUI.UDim(0, P.textHeight))) 112 detailsButton:setText("details") 113 orxonox.GUIManager:subscribeEventHelper(detailsButton, "Clicked", P.name .. ".InventoryDetailsButton_clicked") 114 item:addChildWindow(detailsButton) 115 116 return item 138 117 end 139 118 … … 151 130 end 152 131 153 function P.windowTo CarrierHelper(e)132 function P.windowToPickupHelper(e) 154 133 local we = CEGUI.toWindowEventArgs(e) 155 134 local name = we.window:getName() 156 135 157 136 local match = string.gmatch(name, "%d+") 158 local carrierNr = tonumber(match()) 159 local pickupNr = tonumber(match()) 160 161 local arguments = {} 162 arguments[1] = carrierNr 163 arguments[2] = pickupNr 164 return arguments 165 end 166 167 function P.createDetailsWindow(pickupIndex, carrierIndex) 168 local carrier = P.carrierList[carrierIndex] 169 local pickup = orxonox.PickupManager:getInstance():getPickupRepresentation(pickupIndex, carrier) 137 local pickupIndex = tonumber(match()) 138 139 return pickupIndex 140 end 141 142 function P.createDetailsWindow(pickupIndex) 143 local pickup = P.pickupsList[pickupIndex] 144 local representation = orxonox.PickupManager:getInstance():getPickupRepresentation(pickup) 170 145 171 146 local headerOffset = 35 172 147 --Design parameters 173 local titleHeight = 30174 148 local imageSize = 100 175 local buttonWidth = 85 176 177 local name = "orxonox/PickupInventory/Carrier" .. carrierIndex .. "/Pickup" .. pickupIndex .. "/Details" .. P.getNewDetailNumber() 149 150 local name = "orxonox/PickupInventory/Pickup" .. pickupIndex .. "/Details" .. P.getNewDetailNumber() 178 151 179 152 local window = winMgr:createWindow("MenuWidgets/FrameWindow", name) … … 190 163 191 164 local title = winMgr:createWindow("MenuWidgets/StaticText", name .. "/Title") 192 title:setText( pickup:getPickupName())193 title:setHeight(CEGUI.UDim(0, titleHeight))165 title:setText(representation:getPickupName()) 166 title:setHeight(CEGUI.UDim(0, P.textHeight)) 194 167 title:setProperty("FrameEnabled", "set:False") 195 168 title:setProperty("BackgroundEnabled", "set:False") … … 197 170 198 171 local image = winMgr:createWindow("MenuWidgets/StaticImage", name .. "/Image") 199 image:setProperty("Image", "set:PickupInventory image:" .. pickup:getInventoryRepresentation())172 image:setProperty("Image", "set:PickupInventory image:" .. representation:getInventoryRepresentation()) 200 173 image:setProperty("BackgroundEnabled", "set:False") 201 174 image:setProperty("FrameEnabled", "set:True") 202 image:setSize(CEGUI.UVector2(CEGUI.UDim(0, imageSize), CEGUI.UDim(0, imageSize)))203 image:setYPosition(CEGUI.UDim(0, titleHeight + 5))175 image:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.detailImageSize), CEGUI.UDim(0, P.detailImageSize))) 176 image:setYPosition(CEGUI.UDim(0, P.textHeight + 5)) 204 177 wrapper:addChildWindow(image) 205 178 206 179 local box = winMgr:createWindow("MenuWidgets/ScrollablePane", name .. "/Description") 207 box:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -1*( imageSize + 10)),CEGUI.UDim(1, -(titleHeight + 5 + titleHeight + 20))))208 box:setPosition(CEGUI.UVector2(CEGUI.UDim(0, imageSize + 10),CEGUI.UDim(0, titleHeight + 5)))209 local description = winMgr:createWindow(" TaharezLook/StaticText", name .. "/Description/Text")210 description:setText( pickup:getPickupDescription())180 box:setSize(CEGUI.UVector2(CEGUI.UDim(1.0, -1*(P.detailImageSize + 10)),CEGUI.UDim(1, -(P.textHeight + 5 + P.textHeight + 20)))) 181 box:setPosition(CEGUI.UVector2(CEGUI.UDim(0, P.detailImageSize + 10),CEGUI.UDim(0, P.textHeight + 5))) 182 local description = winMgr:createWindow("MenuWidgets/StaticText", name .. "/Description/Text") 183 description:setText(representation:getPickupDescription()) 211 184 description:setProperty("HorzFormatting", "WordWrapLeftAligned") 212 185 description:setProperty("VertFormatting", "TopAligned") 213 186 box:addChildWindow(description) 214 187 wrapper:addChildWindow(box) 215 188 216 189 local useButton = winMgr:createWindow("MenuWidgets/Button", name .. "/UseButton") 217 useButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0, imageSize+10),CEGUI.UDim(1, -40))) 218 useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, titleHeight))) 219 useButton:setText("use") 220 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseButton_clicked") 190 useButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0, P.detailImageSize+10),CEGUI.UDim(1, -40))) 191 useButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.buttonWidth), CEGUI.UDim(0, P.textHeight))) 192 if pickup:isUsed() == false then 193 useButton:setText("use") 194 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUseButton_clicked") 195 else 196 useButton:setText("unuse") 197 orxonox.GUIManager:subscribeEventHelper(useButton, "Clicked", P.name .. ".InventoryUnuseButton_clicked") 198 end 221 199 wrapper:addChildWindow(useButton) 222 200 223 201 local dropButton = winMgr:createWindow("MenuWidgets/Button", name .. "/DropButton") 224 dropButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0, imageSize+10+buttonWidth+10),CEGUI.UDim(1, -40)))225 dropButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, buttonWidth), CEGUI.UDim(0, titleHeight)))202 dropButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0, P.detailImageSize+10+P.buttonWidth+10),CEGUI.UDim(1, -40))) 203 dropButton:setSize(CEGUI.UVector2(CEGUI.UDim(0, P.buttonWidth), CEGUI.UDim(0, P.textHeight))) 226 204 dropButton:setText("drop") 227 205 orxonox.GUIManager:subscribeEventHelper(dropButton, "Clicked", P.name .. ".InventoryDropButton_clicked") … … 243 221 244 222 function P.InventoryUseButton_clicked(e) 245 local arguments = P.windowToCarrierHelper(e) 246 orxonox.PickupManager:getInstance():usePickup(arguments[2], P.carrierList[arguments[1]], true) 223 local pickupIndex = P.windowToPickupHelper(e) 224 orxonox.PickupManager:getInstance():usePickup(P.pickupsList[pickupIndex], true) 225 end 226 227 function P.InventoryUnuseButton_clicked(e) 228 local pickupIndex = P.windowToPickupHelper(e) 229 orxonox.PickupManager:getInstance():usePickup(P.pickupsList[pickupIndex], false) 247 230 end 248 231 249 232 function P.InventoryDropButton_clicked(e) 250 local arguments = P.windowToCarrierHelper(e)251 orxonox.PickupManager:getInstance():dropPickup( arguments[2], P.carrierList[arguments[1]])233 local pickupIndex = P.windowToPickupHelper(e) 234 orxonox.PickupManager:getInstance():dropPickup(P.pickupsList[pickupIndex]) 252 235 end 253 236 254 237 function P.InventoryDetailsButton_clicked(e) 255 local arguments = P.windowToCarrierHelper(e)256 P.createDetailsWindow( arguments[2], arguments[1])238 local pickupIndex = P.windowToPickupHelper(e) 239 P.createDetailsWindow(pickupIndex) 257 240 end 258 241 … … 262 245 local name = we.window:getName() 263 246 local match = string.gmatch(name, "%d+") 264 local carrierNr = tonumber(match())265 247 local pickupNr = tonumber(match()) 266 248 local detailNr = tonumber(match()) -
code/branches/presentation3/src/modules/pickup/PickupManager.cc
r6752 r6965 64 64 65 65 this->defaultRepresentation_ = new PickupRepresentation(); 66 this->pickupsIndex_ = 0; 66 67 67 68 COUT(3) << "PickupManager created." << std::endl; … … 149 150 return it->second; 150 151 } 151 152 PickupCarrier* PickupManager::getPawn(void) 153 { 152 153 int PickupManager::getNumPickups(void) 154 { 155 this->pickupsList_.clear(); 156 this->pickupsIndex_ = 0; 157 154 158 PlayerInfo* player = GUIManager::getInstance().getPlayer(PickupManager::guiName_s); 159 PickupCarrier* carrier = NULL; 155 160 if (player != NULL) 156 returndynamic_cast<PickupCarrier*>(player->getControllableEntity());161 carrier = dynamic_cast<PickupCarrier*>(player->getControllableEntity()); 157 162 else 158 return NULL;159 }160 161 int PickupManager::getNumCarrierChildren(PickupCarrier* carrier)162 {163 if(carrier == NULL)164 163 return 0; 165 return carrier->getNumCarrierChildren(); 166 } 167 168 PickupCarrier* PickupManager::getCarrierChild(int index, PickupCarrier* carrier) 169 { 170 if(carrier == NULL) 171 return NULL; 172 return carrier->getCarrierChild(index); 173 } 174 175 const std::string& PickupManager::getCarrierName(orxonox::PickupCarrier* carrier) 176 { 177 if(carrier == NULL) 178 return BLANKSTRING; 179 return carrier->getCarrierName(); 180 } 181 182 PickupRepresentation* PickupManager::getPickupRepresentation(int index, PickupCarrier* carrier) 183 { 184 Pickupable* pickup = carrier->getPickup(index); 185 if(pickup == NULL) 186 return NULL; 187 188 return this->getRepresentation(pickup->getPickupIdentifier()); 189 } 190 191 int PickupManager::getNumPickups(PickupCarrier* carrier) 192 { 193 if(carrier == NULL) 194 return 0; 195 return carrier->getNumPickups(); 196 } 197 198 void PickupManager::dropPickup(int index, PickupCarrier* carrier) 199 { 200 Pickupable* pickup = carrier->getPickup(index); 201 if(pickup != NULL) 164 165 std::vector<PickupCarrier*>* carriers = this->getAllCarriers(carrier); 166 for(std::vector<PickupCarrier*>::iterator it = carriers->begin(); it != carriers->end(); it++) 167 { 168 std::set<Pickupable*> pickups = (*it)->getPickups(); 169 for(std::set<Pickupable*>::iterator pickup = pickups.begin(); pickup != pickups.end(); pickup++) 170 { 171 this->pickupsList_.insert(*pickup); 172 } 173 } 174 delete carriers; 175 176 this->pickupsIterator_ = this->pickupsList_.begin(); 177 return this->pickupsList_.size(); 178 } 179 180 std::vector<PickupCarrier*>* PickupManager::getAllCarriers(PickupCarrier* carrier) 181 { 182 //TODO: More efficiently. 183 std::vector<PickupCarrier*>* carriers = new std::vector<PickupCarrier*>(); 184 carriers->insert(carriers->end(), carrier); 185 std::vector<PickupCarrier*>* children = carrier->getCarrierChildren(); 186 for(std::vector<PickupCarrier*>::iterator it = children->begin(); it != children->end(); it++) 187 { 188 std::vector<PickupCarrier*>* childrensChildren = this->getAllCarriers(*it); 189 for(std::vector<PickupCarrier*>::iterator it2 = childrensChildren->begin(); it2 != childrensChildren->end(); it2++) 190 { 191 carriers->insert(carriers->end(), *it2); 192 } 193 delete childrensChildren; 194 } 195 delete children; 196 return carriers; 197 } 198 199 void PickupManager::dropPickup(orxonox::Pickupable* pickup) 200 { 201 if(!pickup->isPickedUp()) 202 return; 203 204 PickupCarrier* carrier = pickup->getCarrier(); 205 if(pickup != NULL && carrier != NULL) 202 206 carrier->drop(pickup); 203 207 } 204 205 void PickupManager::usePickup(int index, PickupCarrier* carrier, bool use) 206 { 207 Pickupable* pickup = carrier->getPickup(index); 208 if(pickup != NULL) 208 209 void PickupManager::usePickup(orxonox::Pickupable* pickup, bool use) 210 { 211 if(!pickup->isPickedUp()) 212 return; 213 214 PickupCarrier* carrier = pickup->getCarrier(); 215 if(pickup != NULL && carrier != NULL) 209 216 pickup->setUsed(use); 210 217 } -
code/branches/presentation3/src/modules/pickup/PickupManager.h
r6725 r6965 71 71 72 72 // tolua_begin 73 orxonox::PickupCarrier* getPawn(void); 74 75 int getNumCarrierChildren(orxonox::PickupCarrier* carrier); 76 orxonox::PickupCarrier* getCarrierChild(int index, orxonox::PickupCarrier* carrier); 77 78 const std::string& getCarrierName(orxonox::PickupCarrier* carrier); 79 80 int getNumPickups(orxonox::PickupCarrier* carrier); 81 PickupRepresentation* getPickupRepresentation(int index, orxonox::PickupCarrier* carrier); 82 void dropPickup(int index, orxonox::PickupCarrier* carrier); 83 void usePickup(int index, orxonox::PickupCarrier* carrier, bool use); 73 int getNumPickups(void); 74 orxonox::Pickupable* popPickup(void) { this->pickupsIndex_++; return *(this->pickupsIterator_++); } 75 int getPickupIndex(void) { return this->pickupsIndex_-1; } 76 orxonox::PickupRepresentation* getPickupRepresentation(orxonox::Pickupable* pickup) { if(pickup != NULL) return this->getRepresentation(pickup->getPickupIdentifier()); return NULL; } 77 78 void dropPickup(orxonox::Pickupable* pickup); 79 void usePickup(orxonox::Pickupable* pickup, bool use); 84 80 // tolua_end 85 81 … … 90 86 PickupRepresentation* defaultRepresentation_; //!< The default PickupRepresentation. 91 87 std::map<const PickupIdentifier*, PickupRepresentation*, PickupIdentifierCompare> representations_; //!< Map linking PickupIdentifiers (representing types if Pickupables) and PickupRepresentations. 88 89 std::set<Pickupable*> pickupsList_; 90 std::set<Pickupable*>::iterator pickupsIterator_; 91 int pickupsIndex_; 92 93 std::vector<PickupCarrier*>* getAllCarriers(PickupCarrier* carrier); 92 94 93 95 }; // tolua_export -
code/branches/presentation3/src/orxonox/CMakeLists.txt
r6928 r6965 60 60 MoodManager.h 61 61 controllers/HumanController.h 62 interfaces/Pickup Carrier.h62 interfaces/Pickupable.h 63 63 sound/SoundManager.h 64 64 DEFINE_SYMBOL -
code/branches/presentation3/src/orxonox/interfaces/PickupCarrier.h
r6711 r6965 45 45 #include "core/OrxonoxClass.h" 46 46 47 namespace orxonox // tolua_export48 { // tolua_export47 namespace orxonox 48 { 49 49 50 50 //! Forward-declarations. … … 62 62 Damian 'Mozork' Frick 63 63 */ 64 class _OrxonoxExport PickupCarrier // tolua_export 65 : virtual public OrxonoxClass 66 { // tolua_export 64 class _OrxonoxExport PickupCarrier : virtual public OrxonoxClass 65 { 67 66 //! So that the different Pickupables have full access to their PickupCarrier. 68 67 friend class Pickupable; … … 259 258 } 260 259 261 }; // tolua_export262 } // tolua_export260 }; 261 } 263 262 264 263 #endif /* _PickupCarrier_H__ */ -
code/branches/presentation3/src/orxonox/interfaces/Pickupable.h
r6901 r6965 42 42 #include "core/OrxonoxClass.h" 43 43 44 namespace orxonox 45 { 44 namespace orxonox // tolua_export 45 { // tolua_export 46 46 47 47 /** … … 51 51 Damian 'Mozork' Frick 52 52 */ 53 class _OrxonoxExport Pickupable : virtual public OrxonoxClass 54 { 53 class _OrxonoxExport Pickupable // tolua_export 54 : virtual public OrxonoxClass 55 { // tolua_export 55 56 protected: 56 57 Pickupable(); //!< Default constructor. … … 63 64 @return Returns true if the pickup is currently in use. 64 65 */ 65 inline bool isUsed(void) 66 { return this->used_; } 66 inline bool isUsed(void) { return this->used_; } // tolua_export 67 67 /** 68 68 @brief Should be called when the pickup has transited from used to unused or the other way around. … … 87 87 @return Returns true if the Pickupable is currently picked up, false if not. 88 88 */ 89 inline bool isPickedUp(void) 90 { return this->pickedUp_; } 89 inline bool isPickedUp(void) { return this->pickedUp_; } // tolua_export 91 90 /** 92 91 @brief Should be called when the pickup has transited from picked up to dropped or the other way around. … … 142 141 std::list<Identifier*> targets_; //!< The possible targets of this pickup. 143 142 144 }; 143 }; // tolua_export 145 144 146 145 SUPER_FUNCTION(10, Pickupable, changedUsed, false); 147 146 SUPER_FUNCTION(12, Pickupable, changedCarrier, false); 148 147 SUPER_FUNCTION(13, Pickupable, changedPickedUp, false); 149 } 148 } // tolua_export 150 149 151 150 #endif /* _Pickupable_H__ */
Note: See TracChangeset
for help on using the changeset viewer.