Doors can open (and also close)
[koperkapel.git] / koperkapel / gamelib / level.py
index 39e456588e2a2a9a2186a8475f226af3b9f14573..a8fe447494f64a6c7e3e5b04f046696f3cb90036 100644 (file)
@@ -11,6 +11,7 @@ class Level(object):
         self.tiles = []
         self.keypads = []
         self.doors = []
+        self.grates = []
         self.tileset = None
         self.start_pos = (0, 0)
 
@@ -43,8 +44,18 @@ class Level(object):
     def can_crawl(self, x, y, layer):
         return 'crawl' in self.tiles[y][x][layer]['behaviour']
 
-    def keypad_at(self, x, y):
+    def is_keypad(self, x, y):
         for keypad in self.keypads:
             if (x, y) == keypad.game_pos:
-                return keypad
-        return None
+                return True
+        return False
+
+    def is_grate(self, x, y):
+        if (x, y) in self.grates:
+            return True
+        return False
+
+    def press_keypad(self, x, y, roaches):
+        for keypad in self.keypads:
+            if (x, y) == keypad.game_pos:
+                keypad.activate(roaches)