+ name = Label(text="Level: [color=00ffcc]%s[/color]" % self.level,
+ markup=True, font_size=24, pos=(500, 360))
+ self.add_widget(name)
+
+ self.draw_toolbar()
+
+ def draw_toolbar(self):
+ for widget in self.tool_widgets:
+ widget.unbind(on_ref_press=self.change_tool)
+ self.remove_widget(widget)
+ self.tool_widgets = []
+ y = 300
+ for tool in ['wall', 'floor', 'entrance', 'exit']:
+ if self.tool == tool:
+ color = '00cccc'
+ else:
+ color = 'cccccc'
+ tool_label = Label(text='[color=%s][ref=%s]%s[/color]' %
+ (color, tool, tool), markup=True, font_size=24,
+ pos=(500, y))
+ y -= 50
+ tool_label.bind(on_ref_press=self.change_tool)
+ self.add_widget(tool_label)
+ self.tool_widgets.append(tool_label)
+
+ def change_tool(self, label, ref):
+ self.tool = ref
+ self.draw_toolbar()
+
+ def contained(self, node, pos):
+ if pos[0] < node.pos[0] or pos[0] > node.pos[0] + TILE_SIZE:
+ return False
+ if pos[1] < node.pos[1] or pos[1] > node.pos[1] + TILE_SIZE:
+ return False
+ return True
+
+ def change_node(self, node, touch):
+ if self.contained(node, touch.pos):
+ print touch, node, node.size, node.pos
+