def on_show_selected_data_only_check_clicked(self, button): self.map_view.clear() if button.get_active(): selected_row = self.map_data_listbox.listbox.get_selected_row() if selected_row: text = self.map_data_listbox.get_row_text(selected_row) point = maps.to_array(text) self.map_view.add_point(point, 'Resource', MiniMap.point_colors['Resource']) else: points = [] for row in self.map_data_listbox.get_rows(): text = self.map_data_listbox.get_row_text(row) point = maps.to_array(text) points.append(point) self.map_view.add_points(points, 'Resource', MiniMap.point_colors['Resource'])
def add_map_data(self, location): # append to listbox text = '{"x": %d, "y": %d, "width": %d, "height": %d, "color": "%s"}' % location self.map_data_listbox.append_text(text) # append to view point = maps.to_array(text) self.map_view.add_point(point, 'Resource', MiniMap.point_colors['Resource']) self.select_resource_button.set_sensitive(True) self.set_cursor(Gdk.Cursor(Gdk.CursorType.ARROW))
def save_data(self, name, data): # get map data map_data = [] for row in self.parent.map_data_listbox.get_rows(): text = self.parent.map_data_listbox.get_row_text(row) map_data.append(maps.to_array(text)) data[name] = map_data # save data maps.save(data) # update parent window self.parent.collect_map_combo.append_list(data, sort=True, clear=True) # destroy dialog self.destroy()
def on_simulate_resource_click_button_clicked(self, button): selected_row = self.map_data_listbox.listbox.get_selected_row() if selected_row: text = self.map_data_listbox.get_row_text(selected_row) data = maps.to_array(text) x, y, width, height, color = (data['x'], data['y'], data['width'], data['height'], data['color']) #print('x: %d, y: %d, width: %d, height: %d' % (x, y, width, height)) # adjust for game area if self.game_window and not self.game_window.is_destroyed() and self.game_window_location: game_x, game_y, game_width, game_height = self.game_window_location #print('game_x: %d, game_y: %d, game_width: %d, game_height: %d' % (game_x, game_y, game_width, game_height)) click_x, click_y = tools.adjust_click_position(x, y, width, height, game_x, game_y, game_width, game_height) else: click_x = x click_y = y # perform click self.debug('Simulate click on x: %d, y: %d' % (click_x, click_y)) tools.perform_click(click_x, click_y)