Mercurial > pyntnclick
changeset 182:5cb3fbe61f75
Add genric thing with description helper class
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Wed, 25 Aug 2010 15:45:45 +0200 |
parents | f98bc17f5e67 |
children | 829551aad0f1 |
files | gamelib/scenes/cryo.py gamelib/statehelpers.py |
diffstat | 2 files changed, 33 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/gamelib/scenes/cryo.py Wed Aug 25 15:34:52 2010 +0200 +++ b/gamelib/scenes/cryo.py Wed Aug 25 15:45:45 2010 +0200 @@ -2,8 +2,6 @@ import random from albow.music import change_playlist, get_music, PlayList -from pygame.colordict import THECOLORS -from pygame.color import Color from gamelib import speech from gamelib.sound import get_sound @@ -11,6 +9,7 @@ from gamelib.state import Scene, Item, Thing, Result, \ InteractImage, InteractNoImage, InteractRectUnion, \ InteractAnimated +from gamelib.statehelpers import GenericDescThing from gamelib.constants import DEBUG @@ -155,22 +154,12 @@ return "A broken cryo chamber. The corpse inside is missing a leg." -class GenericCryoUnit(Thing): +class GenericCryoUnit(GenericDescThing): "Generic Cryo unit" - INITIAL = 'unit' - def __init__(self, number, description, detailed_description, areas): - super(GenericCryoUnit, self).__init__() - self.description = description + super(GenericCryoUnit, self).__init__('cryo.unit', number, description, areas) self.detailed_description = detailed_description - self.name = 'cryo.unit.%d' % number - self.interacts = { - 'unit' : InteractRectUnion(areas) - } - if DEBUG: - # Individual colors to make debugging easier - self._interact_hilight_color = Color(THECOLORS.keys()[number]) def interact_without(self): return Result(self.detailed_description)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gamelib/statehelpers.py Wed Aug 25 15:45:45 2010 +0200 @@ -0,0 +1,30 @@ +"""Set of utility classes for common state things""" + +from pygame.color import Color +from pygame.colordict import THECOLORS + +from gamelib.state import Thing, Result, \ + InteractImage, InteractNoImage, InteractRectUnion, \ + InteractAnimated +from gamelib.constants import DEBUG + + +class GenericDescThing(Thing): + "Thing with an InteractiveUnionRect and a description" + + INITIAL = "description" + + def __init__(self, prefix, number, description, areas): + super(GenericDescThing, self).__init__() + self.description = description + self.name = '%s.%s' % (prefix, number) + self.interacts = { + 'description' : InteractRectUnion(areas) + } + if DEBUG: + # Individual colors to make debugging easier + self._interact_hilight_color = Color(THECOLORS.keys()[number]) + + def get_description(self): + return self.description +