indexing description: "[ Scene that displays the local highscore ]" date: "$Date$" revision: "$Revision$" class LOCAL_HIGHSCORE_SCENE inherit EM_WIDGET_SCENE redefine initialize_scene end SHARED_HIGHSCORE create make_widget_scene feature -- Initialization initialize_scene is -- initialize the scene do Precursor set_frame_counter_visibility (true) set_background_color (theme_colors.window_background) setup_widgets end on_send_local is -- handle click on 'remote highscore' button do set_next_scene (create {SUBMIT_SCENE}.make_widget_scene) start_next_scene end on_new_entry is -- handle click on 'new entry' button do set_next_scene (create {NEW_ENTRY_SCENE}.make_widget_scene) start_next_scene end setup_widgets is -- setup the widgets in the scene local send_local_button: EM_BUTTON new_entry_button: EM_BUTTON title: EM_LABEL new_name: EM_LABEL new_score: EM_LABEL name_offset_x, score_offset_x: INTEGER name_offset_y, score_offset_y: INTEGER spacing: INTEGER row: INTEGER do create send_local_button.make_from_dimension (180, 40) send_local_button.set_position (300, 400) send_local_button.set_text ("Remote Highscore") send_local_button.clicked_event.subscribe (agent on_send_local) add_widget (send_local_button) create new_entry_button.make_from_dimension (180, 40) new_entry_button.set_position (100, 400) new_entry_button.set_text ("New Entry") new_entry_button.clicked_event.subscribe (agent on_new_entry) add_widget (new_entry_button) create title.make_from_text ("Local Highscore") title.set_position (100, 50) add_widget (title) -- We'll display the local highscore using labels, this can be done differently name_offset_x := 100 score_offset_x := 300 name_offset_y := 100 score_offset_y := name_offset_y spacing := 25 from highscore.local_highscore.start row := 0 until highscore.local_highscore.after loop new_name := create {EM_LABEL}.make_from_text(highscore.local_highscore.item_for_iteration.name) new_name.set_position (name_offset_x, name_offset_y + row * spacing) add_widget (new_name) new_score := create {EM_LABEL}.make_from_text(highscore.local_highscore.item_for_iteration.score.out) new_score.set_position (score_offset_x, score_offset_y + row * spacing) add_widget (new_score) row := row + 1 highscore.local_highscore.forth end end end