Mercurial > rinkhals
comparison gamelib/toolbar.py @ 454:30e6d6097b12
Make selling things sub-toolbar
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sun, 22 Nov 2009 17:55:28 +0000 |
parents | 5d74d0e4a4cc |
children | 7e4ea53d8b10 |
comparison
equal
deleted
inserted
replaced
453:4bce845fbe6c | 454:30e6d6097b12 |
---|---|
250 self.add_tool_button("Select chicken", constants.TOOL_SELECT_CHICKENS, | 250 self.add_tool_button("Select chicken", constants.TOOL_SELECT_CHICKENS, |
251 None, cursors.cursors['select']) | 251 None, cursors.cursors['select']) |
252 | 252 |
253 self.add_spacer(5) | 253 self.add_spacer(5) |
254 | 254 |
255 self.add_tool('Sell stuff', self.add_sell_toolbar) | |
256 | |
257 self.add_heading(" ") | |
258 | |
259 self.add_tool('Buy building', self.add_building_toolbar) | |
260 | |
261 self.add_heading("For selection, ...") | |
262 | |
263 self.add_tool('Buy equipment', self.add_equipment_toolbar) | |
264 | |
265 self.add_tool_button("Move selected hen", constants.TOOL_PLACE_ANIMALS, | |
266 None, cursors.cursors['select']) | |
267 | |
268 self.add_heading(" ") | |
269 self.add_tool_button("Repair", constants.TOOL_REPAIR_BUILDING, None, cursors.cursors['repair']) | |
270 | |
271 self.add_heading("Help") | |
272 self.add_tool("Price Reference", self.show_prices) | |
273 | |
274 self.add_spacer(5) | |
275 self.add_tool("Save Game", self.save_game) | |
276 self.add_tool("Load Game", self.load_game) | |
277 | |
278 self.add_heading(" ") | |
279 self.add_spacer(10) | |
280 self.fin_tool = self.add_tool("Finished Day", self.day_done) | |
281 | |
282 def add_building_toolbar(self): | |
283 self.gameboard.change_toolbar(BuildingToolBar(self.gameboard, | |
284 width=self.style.width)) | |
285 | |
286 def add_sell_toolbar(self): | |
287 self.gameboard.change_toolbar(SellToolBar(self.gameboard, | |
288 width=self.style.width)) | |
289 | |
290 def add_equipment_toolbar(self): | |
291 self.gameboard.change_toolbar(EquipmentToolBar(self.gameboard, | |
292 width=self.style.width)) | |
293 | |
294 def day_done(self): | |
295 if self.gameboard.day: | |
296 pygame.event.post(engine.START_NIGHT) | |
297 else: | |
298 pygame.event.post(engine.FAST_FORWARD) | |
299 | |
300 class BuildingToolBar(BaseToolBar): | |
301 def __init__(self, gameboard, **params): | |
302 BaseToolBar.__init__(self, gameboard, **params) | |
303 self.group = gui.Group(name='building_toolbar', value=None) | |
304 self.make_toolbar() | |
305 | |
306 def make_toolbar(self): | |
307 self.gameboard.set_cursor(cursors.cursors['arrow'], None) | |
308 for building_cls in buildings.BUILDINGS: | |
309 self.add_tool_button(building_cls.NAME.title(), building_cls, | |
310 None, cursors.cursors.get('build', None)) | |
311 self.add_spacer(15) | |
312 self.add_tool('Done', self.add_default_toolbar) | |
313 | |
314 def add_default_toolbar(self): | |
315 self.gameboard.change_toolbar(DefaultToolBar(self.gameboard, | |
316 width=self.style.width)) | |
317 | |
318 class EquipmentToolBar(BaseToolBar): | |
319 def __init__(self, gameboard, **params): | |
320 BaseToolBar.__init__(self, gameboard, **params) | |
321 self.group = gui.Group(name='building_toolbar', value=None) | |
322 self.make_toolbar() | |
323 | |
324 def make_toolbar(self): | |
325 self.gameboard.set_cursor(cursors.cursors['arrow'], None) | |
326 for equipment_cls in equipment.EQUIPMENT: | |
327 self.add_tool_button(equipment_cls.NAME.title(), | |
328 equipment_cls, | |
329 equipment_cls.BUY_PRICE, | |
330 cursors.cursors.get('buy', None)) | |
331 self.add_spacer(15) | |
332 self.add_tool('Done', self.add_default_toolbar) | |
333 | |
334 def add_default_toolbar(self): | |
335 self.gameboard.change_toolbar(DefaultToolBar(self.gameboard, | |
336 width=self.style.width)) | |
337 | |
338 class SellToolBar(BaseToolBar): | |
339 def __init__(self, gameboard, **params): | |
340 BaseToolBar.__init__(self, gameboard, **params) | |
341 self.group = gui.Group(name='building_toolbar', value=None) | |
342 self.make_toolbar() | |
343 | |
344 def make_toolbar(self): | |
345 self.gameboard.set_cursor(cursors.cursors['arrow'], None) | |
346 | |
255 self.add_heading("Sell ...") | 347 self.add_heading("Sell ...") |
256 self.add_tool_button("Chicken", constants.TOOL_SELL_CHICKEN, | 348 self.add_tool_button("Chicken", constants.TOOL_SELL_CHICKEN, |
257 self.gameboard.level.sell_price_chicken, cursors.cursors['sell']) | 349 self.gameboard.level.sell_price_chicken, cursors.cursors['sell']) |
258 self.add_tool_button("Egg", constants.TOOL_SELL_EGG, | 350 self.add_tool_button("Egg", constants.TOOL_SELL_EGG, |
259 self.gameboard.level.sell_price_egg, cursors.cursors['sell']) | 351 self.gameboard.level.sell_price_egg, cursors.cursors['sell']) |
260 self.add_tool_button("Building", constants.TOOL_SELL_BUILDING, | 352 self.add_tool_button("Building", constants.TOOL_SELL_BUILDING, |
261 None, cursors.cursors['sell']) | 353 None, cursors.cursors['sell']) |
262 self.add_tool_button("Equipment", constants.TOOL_SELL_EQUIPMENT, | 354 self.add_tool_button("Equipment", constants.TOOL_SELL_EQUIPMENT, |
263 None, cursors.cursors['sell']) | 355 None, cursors.cursors['sell']) |
264 self.add_spacer(5) | |
265 | |
266 self.add_heading(" ") | |
267 | |
268 self.add_tool('Buy building', self.add_building_toolbar) | |
269 | |
270 self.add_heading("For selection, ...") | |
271 | |
272 self.add_tool('Buy equipment', self.add_equipment_toolbar) | |
273 | |
274 self.add_tool_button("Move selected hen", constants.TOOL_PLACE_ANIMALS, | |
275 None, cursors.cursors['select']) | |
276 | |
277 self.add_heading(" ") | |
278 self.add_tool_button("Repair", constants.TOOL_REPAIR_BUILDING, None, cursors.cursors['repair']) | |
279 | |
280 self.add_heading("Help") | |
281 self.add_tool("Price Reference", self.show_prices) | |
282 | |
283 self.add_spacer(5) | |
284 self.add_tool("Save Game", self.save_game) | |
285 self.add_tool("Load Game", self.load_game) | |
286 | |
287 self.add_heading(" ") | |
288 self.add_spacer(10) | |
289 self.fin_tool = self.add_tool("Finished Day", self.day_done) | |
290 | |
291 def add_building_toolbar(self): | |
292 self.gameboard.change_toolbar(BuildingToolBar(self.gameboard, | |
293 width=self.style.width)) | |
294 | |
295 def add_equipment_toolbar(self): | |
296 self.gameboard.change_toolbar(EquipmentToolBar(self.gameboard, | |
297 width=self.style.width)) | |
298 | |
299 def day_done(self): | |
300 if self.gameboard.day: | |
301 pygame.event.post(engine.START_NIGHT) | |
302 else: | |
303 pygame.event.post(engine.FAST_FORWARD) | |
304 | |
305 class BuildingToolBar(BaseToolBar): | |
306 def __init__(self, gameboard, **params): | |
307 BaseToolBar.__init__(self, gameboard, **params) | |
308 self.group = gui.Group(name='building_toolbar', value=None) | |
309 self.make_toolbar() | |
310 | |
311 def make_toolbar(self): | |
312 self.gameboard.set_cursor(cursors.cursors['arrow'], None) | |
313 for building_cls in buildings.BUILDINGS: | |
314 self.add_tool_button(building_cls.NAME.title(), building_cls, | |
315 None, cursors.cursors.get('build', None)) | |
316 self.add_spacer(15) | 356 self.add_spacer(15) |
317 self.add_tool('Done', self.add_default_toolbar) | 357 self.add_tool('Done', self.add_default_toolbar) |
318 | 358 |
319 def add_default_toolbar(self): | 359 def add_default_toolbar(self): |
320 self.gameboard.change_toolbar(DefaultToolBar(self.gameboard, | 360 self.gameboard.change_toolbar(DefaultToolBar(self.gameboard, |
321 width=self.style.width)) | 361 width=self.style.width)) |
322 | 362 |
323 class EquipmentToolBar(BaseToolBar): | |
324 def __init__(self, gameboard, **params): | |
325 BaseToolBar.__init__(self, gameboard, **params) | |
326 self.group = gui.Group(name='building_toolbar', value=None) | |
327 self.make_toolbar() | |
328 | |
329 def make_toolbar(self): | |
330 self.gameboard.set_cursor(cursors.cursors['arrow'], None) | |
331 for equipment_cls in equipment.EQUIPMENT: | |
332 self.add_tool_button(equipment_cls.NAME.title(), | |
333 equipment_cls, | |
334 equipment_cls.BUY_PRICE, | |
335 cursors.cursors.get('buy', None)) | |
336 self.add_spacer(15) | |
337 self.add_tool('Done', self.add_default_toolbar) | |
338 | |
339 def add_default_toolbar(self): | |
340 self.gameboard.change_toolbar(DefaultToolBar(self.gameboard, | |
341 width=self.style.width)) | |
342 |