REFACTOR styling
This commit is contained in:
10
main.py
10
main.py
@@ -15,12 +15,18 @@ def main():
|
|||||||
"match": None,
|
"match": None,
|
||||||
"screen": screen,
|
"screen": screen,
|
||||||
"previous_states": Stack(),
|
"previous_states": Stack(),
|
||||||
"font": pygame.font.Font(None, 36),
|
|
||||||
"small_font": pygame.font.Font(None, 15),
|
|
||||||
"options": {
|
"options": {
|
||||||
"show_yaw": True,
|
"show_yaw": True,
|
||||||
"show_health": True,
|
"show_health": True,
|
||||||
"show_names": True
|
"show_names": True
|
||||||
|
},
|
||||||
|
"styling": {
|
||||||
|
"font": pygame.font.Font(None, 36),
|
||||||
|
"small_font": pygame.font.Font(None, 15),
|
||||||
|
"button_colour": (200, 200, 200),
|
||||||
|
"pressed_button_colour": (150, 150, 150),
|
||||||
|
"text_colour": (255, 255, 255),
|
||||||
|
"background_colour": (30, 30, 30)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3,20 +3,23 @@ from widgets.button import Button
|
|||||||
from widgets.switch import Switch
|
from widgets.switch import Switch
|
||||||
|
|
||||||
class SettingsMenuRenderer:
|
class SettingsMenuRenderer:
|
||||||
def __init__(self, screen, options, font):
|
def __init__(self, screen, options, styling):
|
||||||
self.screen = screen
|
self.screen = screen
|
||||||
self.options = options
|
self.options = options
|
||||||
self.font = font
|
self.styling = styling
|
||||||
|
self.font = self.styling["font"]
|
||||||
self.text_start_x = 100
|
self.text_start_x = 100
|
||||||
self.widget_start_x = 500
|
self.widget_start_x = 500
|
||||||
|
|
||||||
# Text
|
# Text
|
||||||
self.show_yaw_text = self.font.render("Show Yaw: ", True, (255, 255, 255))
|
self.show_yaw_text = self.font.render("Show Yaw: ", True, self.styling["text_colour"])
|
||||||
self.show_health_text = self.font.render("Show Health: ", True, (255, 255, 255))
|
self.show_health_text = self.font.render("Show Health: ", True, (self.styling["text_colour"]))
|
||||||
self.show_names_text = self.font.render("Show Names: ", True, (255, 255, 255))
|
self.show_names_text = self.font.render("Show Names: ", True, self.styling["text_colour"])
|
||||||
|
|
||||||
# Buttons
|
# Buttons
|
||||||
self.back_button = Button(10, 10, 50, 50, None)
|
self.back_button = Button(10, 10, 50, 50, None)
|
||||||
|
self.back_button.set_colour(self.styling["button_colour"])
|
||||||
|
self.back_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
self.back_button.set_image("assets/arrow.png")
|
self.back_button.set_image("assets/arrow.png")
|
||||||
|
|
||||||
# Switches
|
# Switches
|
||||||
@@ -26,7 +29,7 @@ class SettingsMenuRenderer:
|
|||||||
|
|
||||||
def render(self):
|
def render(self):
|
||||||
"""Renders the settings menu."""
|
"""Renders the settings menu."""
|
||||||
self.screen.fill((30, 30, 30)) # Clear screen
|
self.screen.fill(self.styling["background_colour"]) # Clear screen
|
||||||
self.screen.blit(self.show_yaw_text, (self.text_start_x, self.show_yaw_button.y))
|
self.screen.blit(self.show_yaw_text, (self.text_start_x, self.show_yaw_button.y))
|
||||||
self.show_yaw_button.draw(self.screen)
|
self.show_yaw_button.draw(self.screen)
|
||||||
|
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ class Game(GameState):
|
|||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
"""Draws everything on screen."""
|
"""Draws everything on screen."""
|
||||||
self.screen.fill((0, 0, 0))
|
self.screen.fill(self.styling["background_colour"])
|
||||||
self.game_box.fill((0, 0, 0, 0))
|
self.game_box.fill(self.styling["background_colour"])
|
||||||
|
|
||||||
self.map_renderer.render()
|
self.map_renderer.render()
|
||||||
self.player_renderer.render()
|
self.player_renderer.render()
|
||||||
|
|||||||
@@ -6,11 +6,11 @@ class GameState:
|
|||||||
self.context = context
|
self.context = context
|
||||||
self.screen = self.context.get("screen")
|
self.screen = self.context.get("screen")
|
||||||
self.match = self.context.get("match", None)
|
self.match = self.context.get("match", None)
|
||||||
self.font = self.context.get("font", pygame.font.Font(None, 36))
|
|
||||||
self.small_font = self.context.get("small_font", pygame.font.Font(None, 15))
|
self.small_font = self.context.get("small_font", pygame.font.Font(None, 15))
|
||||||
self.options = self.context.get("options", {
|
self.options = self.context.get("options", {
|
||||||
"show_yaw": True
|
"show_yaw": True
|
||||||
})
|
})
|
||||||
|
self.styling = self.context.get("styling", None)
|
||||||
|
|
||||||
def handle_events(self, events):
|
def handle_events(self, events):
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ class SettingsMenu(GameState):
|
|||||||
def __init__(self, switch_state_callback, context):
|
def __init__(self, switch_state_callback, context):
|
||||||
super().__init__(switch_state_callback, context)
|
super().__init__(switch_state_callback, context)
|
||||||
|
|
||||||
self.settings_renderer = SettingsMenuRenderer(self.screen, self.context["options"], self.font)
|
self.settings_renderer = SettingsMenuRenderer(self.screen, self.context["options"], self.styling)
|
||||||
self.settings_controller = SettingsController(self.settings_renderer, self.switch_state, context)
|
self.settings_controller = SettingsController(self.settings_renderer, self.switch_state, context)
|
||||||
|
|
||||||
def handle_events(self, events):
|
def handle_events(self, events):
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ class StartMenu(GameState):
|
|||||||
self._get_demo)
|
self._get_demo)
|
||||||
self.upload_demo_button.set_text("Upload Demo")
|
self.upload_demo_button.set_text("Upload Demo")
|
||||||
self.upload_demo_button.set_font_size(40)
|
self.upload_demo_button.set_font_size(40)
|
||||||
|
self.upload_demo_button.set_colour(self.styling["button_colour"])
|
||||||
|
self.upload_demo_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
|
|
||||||
self.settings_button = Button(self.default_button_start_x,
|
self.settings_button = Button(self.default_button_start_x,
|
||||||
350,
|
350,
|
||||||
@@ -32,6 +34,8 @@ class StartMenu(GameState):
|
|||||||
lambda: self.switch_state("settings_menu"))
|
lambda: self.switch_state("settings_menu"))
|
||||||
self.settings_button.set_text("Settings")
|
self.settings_button.set_text("Settings")
|
||||||
self.settings_button.set_font_size(40)
|
self.settings_button.set_font_size(40)
|
||||||
|
self.settings_button.set_colour(self.styling["button_colour"])
|
||||||
|
self.settings_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
|
|
||||||
self.quit_button = Button(self.default_button_start_x,
|
self.quit_button = Button(self.default_button_start_x,
|
||||||
450,
|
450,
|
||||||
@@ -40,6 +44,8 @@ class StartMenu(GameState):
|
|||||||
pygame.quit)
|
pygame.quit)
|
||||||
self.quit_button.set_text("Quit")
|
self.quit_button.set_text("Quit")
|
||||||
self.quit_button.set_font_size(40)
|
self.quit_button.set_font_size(40)
|
||||||
|
self.quit_button.set_colour(self.styling["button_colour"])
|
||||||
|
self.quit_button.set_pressed_colour(self.styling["pressed_button_colour"])
|
||||||
|
|
||||||
# file dialog
|
# file dialog
|
||||||
self.file_dialog = None
|
self.file_dialog = None
|
||||||
@@ -107,7 +113,7 @@ class StartMenu(GameState):
|
|||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
"""Draws everything on screen."""
|
"""Draws everything on screen."""
|
||||||
self.screen.fill((30, 30, 30)) # Clear screen
|
self.screen.fill(self.styling["background_colour"]) # Clear screen
|
||||||
self.upload_demo_button.draw(self.screen)
|
self.upload_demo_button.draw(self.screen)
|
||||||
self.settings_button.draw(self.screen)
|
self.settings_button.draw(self.screen)
|
||||||
self.quit_button.draw(self.screen)
|
self.quit_button.draw(self.screen)
|
||||||
|
|||||||
@@ -28,6 +28,12 @@ class Button:
|
|||||||
def get_border_radius(self) -> int:
|
def get_border_radius(self) -> int:
|
||||||
return self.border_radius
|
return self.border_radius
|
||||||
|
|
||||||
|
def get_colour(self) -> tuple:
|
||||||
|
return self.colour
|
||||||
|
|
||||||
|
def get_pressed_colour(self) -> tuple:
|
||||||
|
return self.pressed_colour
|
||||||
|
|
||||||
def set_font_size(self, font_size: int) -> None:
|
def set_font_size(self, font_size: int) -> None:
|
||||||
self.font_size = font_size
|
self.font_size = font_size
|
||||||
|
|
||||||
@@ -37,6 +43,12 @@ class Button:
|
|||||||
def set_border_radius(self, border_radius: int) -> None:
|
def set_border_radius(self, border_radius: int) -> None:
|
||||||
self.border_radius = border_radius
|
self.border_radius = border_radius
|
||||||
|
|
||||||
|
def set_colour(self, colour: tuple) -> None:
|
||||||
|
self.colour = colour
|
||||||
|
|
||||||
|
def set_pressed_colour(self, pressed_colour: tuple) -> None:
|
||||||
|
self.pressed_colour = pressed_colour
|
||||||
|
|
||||||
def set_image(self, image_path: str) -> None:
|
def set_image(self, image_path: str) -> None:
|
||||||
self._load_image(image_path)
|
self._load_image(image_path)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user