comparison gamelib/state.py @ 35:ebc76bc0c067

First item!
author Simon Cross <hodgestar+bzr@gmail.com>
date Sun, 22 Aug 2010 20:05:37 +0200
parents e5c043aeed65
children 088a101f5b94
comparison
equal deleted inserted replaced
34:e5c043aeed65 35:ebc76bc0c067
33 33
34 def add_scene(self, scene): 34 def add_scene(self, scene):
35 self.scenes[scene.name] = scene 35 self.scenes[scene.name] = scene
36 36
37 def add_item(self, item): 37 def add_item(self, item):
38 self.scenes[item.name] = item 38 self.items[item.name] = item
39 39
40 def load_scenes(self, modname): 40 def load_scenes(self, modname):
41 mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname]) 41 mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname])
42 for scene_cls in mod.SCENES: 42 for scene_cls in mod.SCENES:
43 self.add_scene(scene_cls(self)) 43 self.add_scene(scene_cls(self))
74 self.state = state 74 self.state = state
75 # map of thing names -> Thing objects 75 # map of thing names -> Thing objects
76 self.things = {} 76 self.things = {}
77 self._background = get_image(self.FOLDER, self.BACKGROUND) 77 self._background = get_image(self.FOLDER, self.BACKGROUND)
78 78
79 def add_item(self, item):
80 self.state.add_item(item)
81
79 def draw_background(self, surface): 82 def draw_background(self, surface):
80 surface.blit(self._background, (0, 0), None, BLEND_ADD) 83 surface.blit(self._background, (0, 0), None, BLEND_ADD)
81 84
82 def draw_things(self, surface): 85 def draw_things(self, surface):
83 for thing in self.things.itervalues(): 86 for thing in self.things.itervalues():
104 107
105 108
106 class Item(object): 109 class Item(object):
107 """Base class for inventory items.""" 110 """Base class for inventory items."""
108 111
109 # name of item 112 # image for inventory
110 NAME = None 113 INVENTORY_IMAGE = None
111 114
112 def __init__(self): 115 def __init__(self, name):
113 self.name = self.NAME 116 self.name = name
114 117 self.inventory_image = get_image('items', self.INVENTORY_IMAGE)
115 self.inventory_image = get_image('items', self.name)
116 # TODO: needs cursor 118 # TODO: needs cursor
117 119
118 def get_inventory_image(self): 120 def get_inventory_image(self):
119 return self.inventory_image 121 return self.inventory_image
120 122