diff gamelib/state.py @ 129:4223d66d88b4

Cursor change when you select a Tool
author Stefano Rivera <stefano@rivera.za.net>
date Tue, 24 Aug 2010 18:36:31 +0200
parents 9646e7c8bb97
children 11afefc4aeaf
line wrap: on
line diff
--- a/gamelib/state.py	Tue Aug 24 18:23:24 2010 +0200
+++ b/gamelib/state.py	Tue Aug 24 18:36:31 2010 +0200
@@ -9,6 +9,7 @@
 
 import constants
 from sound import get_sound
+from cursor import HAND
 
 
 class Result(object):
@@ -31,9 +32,9 @@
             scene.invalidate()
 
 
-def initial_state():
+def initial_state(screen):
     """Load the initial state."""
-    state = State()
+    state = State(screen)
     state.load_scenes("cryo")
     state.load_scenes("bridge")
     #state.load_scenes("mess")
@@ -54,7 +55,7 @@
     * scenes
     """
 
-    def __init__(self):
+    def __init__(self, screen):
         # map of scene name -> Scene object
         self.scenes = {}
         # map of detail view name -> DetailView object
@@ -75,6 +76,8 @@
         self.do_check = None
         self.old_pos = None
 
+        self.screen = screen
+
     def add_scene(self, scene):
         self.scenes[scene.name] = scene
 
@@ -117,6 +120,10 @@
 
     def set_tool(self, item):
         self.tool = item
+        if item is None:
+            self.screen.set_cursor(HAND)
+        else:
+            self.screen.set_cursor(item.CURSOR)
 
     def draw(self, surface):
         if self.do_check and self.previous_scene and self.do_check == constants.LEAVE: