REFACTOR settings into controller and renderer
This commit is contained in:
39
render/settings_menu_renderer.py
Normal file
39
render/settings_menu_renderer.py
Normal file
@@ -0,0 +1,39 @@
|
||||
import pygame
|
||||
from widgets.button import Button
|
||||
from widgets.switch import Switch
|
||||
|
||||
class SettingsMenuRenderer:
|
||||
def __init__(self, screen, options, font):
|
||||
self.screen = screen
|
||||
self.options = options
|
||||
self.font = font
|
||||
self.text_start_x = 100
|
||||
self.widget_start_x = 500
|
||||
|
||||
# Text
|
||||
self.show_yaw_text = self.font.render("Show Yaw: ", True, (255, 255, 255))
|
||||
self.show_health_text = self.font.render("Show Health: ", True, (255, 255, 255))
|
||||
self.show_names_text = self.font.render("Show Names: ", True, (255, 255, 255))
|
||||
|
||||
# Buttons
|
||||
self.back_button = Button(10, 10, 50, 50, None)
|
||||
self.back_button.set_image("assets/arrow.png")
|
||||
|
||||
# Switches
|
||||
self.show_yaw_button = Switch(self.widget_start_x, 100, 100, self.show_yaw_text.get_rect().height, self.options["show_yaw"])
|
||||
self.show_health_button = Switch(self.widget_start_x, 150, 100, self.show_health_text.get_rect().height, self.options["show_health"])
|
||||
self.show_names_button = Switch(self.widget_start_x, 200, 100, self.show_names_text.get_rect().height, self.options["show_names"])
|
||||
|
||||
def render(self):
|
||||
"""Renders the settings menu."""
|
||||
self.screen.fill((30, 30, 30)) # Clear screen
|
||||
self.screen.blit(self.show_yaw_text, (self.text_start_x, self.show_yaw_button.y))
|
||||
self.show_yaw_button.draw(self.screen)
|
||||
|
||||
self.screen.blit(self.show_health_text, (self.text_start_x, self.show_health_button.y))
|
||||
self.show_health_button.draw(self.screen)
|
||||
|
||||
self.screen.blit(self.show_names_text, (self.text_start_x, self.show_names_button.y))
|
||||
self.show_names_button.draw(self.screen)
|
||||
|
||||
self.back_button.draw(self.screen)
|
||||
Reference in New Issue
Block a user