Skip to content
Snippets Groups Projects
Commit 84fda205 authored by Fabian Heinrich's avatar Fabian Heinrich
Browse files

Fixed overlapping button

parent 819a1a3f
No related branches found
No related tags found
2 merge requests!110V1.2.0 changes,!106Visual layout selection
......@@ -223,7 +223,7 @@ class PyGameGUI:
self.layout_file_paths = sorted(list(self.layout_file_paths_dict.keys()))
self.current_layout_idx = 0
self.selected_layout_path = self.layout_file_paths_dict["basic.layout"]
self.selected_layout = "basic.layout"
self.last_state: StateRepresentation
......@@ -595,24 +595,22 @@ class PyGameGUI:
object_id="#players",
anchors={"bottom": "bottom", "centerx": "centerx"},
)
multiple_keysets_button_rect = pygame.Rect((0, 0), (190, 50))
rect = pygame.Rect((0, 0), (190, 50))
self.multiple_keysets_button = pygame_gui.elements.UIButton(
relative_rect=multiple_keysets_button_rect,
relative_rect=rect,
manager=self.manager,
container=self.player_selection_container,
text="not set",
anchors={"left": "left", "centery": "centery"},
anchors={"centerx": "centerx", "centery": "centery"},
object_id="#multiple_keysets_button",
)
split_players_button_rect = pygame.Rect((0, 0), (190, 50))
self.split_players_button = pygame_gui.elements.UIButton(
relative_rect=split_players_button_rect,
manager=self.manager,
container=self.player_selection_container,
text="not set",
anchors={"centerx": "centerx", "centery": "centery"},
anchors={"centery": "centery", "left_target": self.multiple_keysets_button},
object_id="#split_players_button",
)
......@@ -1123,11 +1121,14 @@ class PyGameGUI:
if not self.CONNECT_WITH_STUDY_SERVER:
self.start_screen_elements.append(self.scroll_space_layouts)
self.start_screen_elements.append(self.selected_layout_label)
self.game_screen_elements.append(self.return_to_main_button)
self.other_elements.append(self.layout_selection)
else:
self.other_elements.append(self.scroll_space_layouts)
self.other_elements.append(self.return_to_main_button)
self.other_elements.append(self.selected_layout_label)
self.other_elements.append(self.layout_selection)
self.postgame_screen_elements = [
......@@ -1259,7 +1260,7 @@ class PyGameGUI:
anchors={"centerx": "centerx", "centery": "centery"},
)
button.update_theming(
'{"colours": {"normal_bg": "rgba(0, 0, 0, 0)"}}'
'{"colours": {"normal_bg": "rgba(0, 0, 0, 0)", "active_bg": "rgba(255, 255, 255, 255)"}}'
)
self.layout_buttons[button] = layout_name
......@@ -1301,6 +1302,8 @@ class PyGameGUI:
self.show_screen_elements(self.start_screen_elements)
if self.CONNECT_WITH_STUDY_SERVER:
self.bot_number_container.hide()
# else:
# self.setup_layout_selection()
self.update_selection_elements()
case MenuStates.Tutorial:
self.setup_tutorial_screen()
......@@ -1347,7 +1350,6 @@ class PyGameGUI:
state: The game state returned by the environment, containing served meals and score.
"""
score = state["score"]
# self.score_conclusion.set_text(f"Your final score is {score}. Hurray!")
self.score_conclusion.set_text(
"translations.final_score", text_kwargs={"score": str(score)}
)
......@@ -1648,7 +1650,7 @@ class PyGameGUI:
environment_config_path = ROOT_DIR / "configs" / "tutorial_env_config.yaml"
else:
environment_config_path = ROOT_DIR / "configs" / "environment_config.yaml"
layout_path = self.selected_layout_path
layout_path = self.layout_file_paths_dict[self.selected_layout]
# layout_path = self.layout_file_paths[self.current_layout_idx]
item_info_path = ROOT_DIR / "configs" / "item_info.yaml"
......@@ -1698,7 +1700,7 @@ class PyGameGUI:
disjunct=self.split_players,
)
self.level_info = env_info
self.level_info["name"] = self.layout_selection.selected_option
self.level_info["name"] = self.selected_layout.replace(".layout", "")
self.level_info["number_players"] = num_players
def update_pregame_screen(self):
......@@ -1992,7 +1994,7 @@ class PyGameGUI:
self.init_ui_elements()
self.set_game_size()
self.update_screen_elements()
self.setup_layout_selection()
# self.setup_layout_selection()
def reset_gui_values(self):
"""Reset the values of the GUI elements to their default values. Default values are defined here."""
......@@ -2059,6 +2061,11 @@ class PyGameGUI:
else:
self.start_button.enable()
self.selected_layout_path = self.layout_file_paths_dict[self.selected_layout]
self.selected_layout_label.set_text(
"translations.selected_layout", text_kwargs={"layout": self.selected_layout.replace(".layout", "")}
)
def send_action(self, action: Action):
"""Sends an action to the game environment.
......@@ -2232,12 +2239,7 @@ class PyGameGUI:
self.split_players = not self.split_players
case other:
if button in self.layout_buttons:
selected_layout = self.layout_buttons[button]
self.selected_layout_path = self.layout_file_paths_dict[selected_layout]
print("SELECTED LAYOUT", self.selected_layout_path)
self.selected_layout_label.set_text(
"translations.selected_layout", text_kwargs={"layout": selected_layout}
)
self.selected_layout = self.layout_buttons[button]
############################################
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment