changeset 35:ebc76bc0c067

First item!
author Simon Cross <hodgestar+bzr@gmail.com>
date Sun, 22 Aug 2010 20:05:37 +0200
parents e5c043aeed65
children 31a431f795e1
files gamelib/gamescreen.py gamelib/scenes/cryo.py gamelib/state.py
diffstat 3 files changed, 24 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/gamescreen.py	Sun Aug 22 19:59:42 2010 +0200
+++ b/gamelib/gamescreen.py	Sun Aug 22 20:05:37 2010 +0200
@@ -6,6 +6,7 @@
 
 from pygame.color import Color
 from pygame import Rect
+from pygame.locals import BLEND_ADD
 from albow.screen import Screen
 from albow.controls import Button, Label, Widget
 from albow.layout import Column
@@ -46,7 +47,7 @@
 class StateWidget(Widget):
 
     def __init__(self, state):
-        Widget.__init__(self, Rect(0, 0, 800, 600))
+        Widget.__init__(self, Rect(0, 0, 800, 550))
         self.state = state
 
     def draw(self, surface):
--- a/gamelib/scenes/cryo.py	Sun Aug 22 19:59:42 2010 +0200
+++ b/gamelib/scenes/cryo.py	Sun Aug 22 20:05:37 2010 +0200
@@ -1,4 +1,4 @@
-from gamelib.state import Scene
+from gamelib.state import Scene, Item
 
 class Cryo(Scene):
 
@@ -7,6 +7,18 @@
 
     def __init__(self, state):
         super(Cryo, self).__init__(state)
+        self.add_item(Triangle("triangle"))
+        self.add_item(Square("square"))
+
+
+class Triangle(Item):
+
+    INVENTORY_IMAGE = "triangle.png"
+
+
+class Square(Item):
+
+    INVENTORY_IMAGE = "square.png"
 
 
 SCENES = [Cryo]
--- a/gamelib/state.py	Sun Aug 22 19:59:42 2010 +0200
+++ b/gamelib/state.py	Sun Aug 22 20:05:37 2010 +0200
@@ -35,7 +35,7 @@
         self.scenes[scene.name] = scene
 
     def add_item(self, item):
-        self.scenes[item.name] = item
+        self.items[item.name] = item
 
     def load_scenes(self, modname):
         mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname])
@@ -76,6 +76,9 @@
         self.things = {}
         self._background = get_image(self.FOLDER, self.BACKGROUND)
 
+    def add_item(self, item):
+        self.state.add_item(item)
+
     def draw_background(self, surface):
         surface.blit(self._background, (0, 0), None, BLEND_ADD)
 
@@ -106,13 +109,12 @@
 class Item(object):
     """Base class for inventory items."""
 
-    # name of item
-    NAME = None
+    # image for inventory
+    INVENTORY_IMAGE = None
 
-    def __init__(self):
-        self.name = self.NAME
-
-        self.inventory_image = get_image('items', self.name)
+    def __init__(self, name):
+        self.name = name
+        self.inventory_image = get_image('items', self.INVENTORY_IMAGE)
         # TODO: needs cursor
 
     def get_inventory_image(self):