Better commenting throughout

This commit is contained in:
2025-11-24 12:29:19 -07:00
parent 175479da69
commit 5e0413a259
14 changed files with 107 additions and 195 deletions

View File

@@ -22,6 +22,8 @@ var (
}
)
// Menu options
func getOverlayImage(width, height int) *ebiten.Image {
if width <= 0 || height <= 0 {
return nil
@@ -46,6 +48,8 @@ const (
optionCount
)
// Screen modes
type menuScreen int
const (
@@ -80,7 +84,8 @@ func (m *PauseMenu) SetFPSCap(cap FPSCapSetting) {
m.settingsScreen.SetFPSCap(cap)
}
// Returns the selected option if one was chosen, nil otherwise
// Update logic
func (m *PauseMenu) Update() *MenuOption {
if m.currentScreen == screenSettings {
return m.updateSettings()
@@ -123,6 +128,8 @@ func (m *PauseMenu) updateSettings() *MenuOption {
return nil
}
// Rendering
func (m *PauseMenu) Draw(screen *ebiten.Image, screenWidth, screenHeight int) {
if overlay := getOverlayImage(screenWidth, screenHeight); overlay != nil {
screen.DrawImage(overlay, nil)
@@ -177,6 +184,7 @@ func (m *PauseMenu) drawMain(screen *ebiten.Image, menuX, menuY, menuWidth, menu
}
}
// Instructions
hintText := "Use Arrow Keys/WASD to navigate, Enter/Space to select"
hintX := menuX + (menuWidth / 2) - (len(hintText) * 7 / 2)
hintY := menuY + menuHeight - 30
@@ -184,7 +192,6 @@ func (m *PauseMenu) drawMain(screen *ebiten.Image, menuX, menuY, menuWidth, menu
}
func (m *PauseMenu) drawSettings(screen *ebiten.Image, menuX, menuY, menuWidth, menuHeight int) {
// Draw menu background and border
vector.DrawFilledRect(screen,
float32(menuX), float32(menuY),
float32(menuWidth), float32(menuHeight),
@@ -200,16 +207,12 @@ func (m *PauseMenu) drawSettings(screen *ebiten.Image, menuX, menuY, menuWidth,
false,
)
// Create a sub-image for the settings screen to draw within the menu bounds
// We'll draw to the full screen and the settings screen will handle positioning
screenWidth := menuWidth
screenHeight := menuHeight
// Temporarily adjust the drawing to center within the menu
subScreen := ebiten.NewImage(screenWidth, screenHeight)
m.settingsScreen.Draw(subScreen, screenWidth, screenHeight, "SETTINGS")
// Draw the settings content in the menu area
op := &ebiten.DrawImageOptions{}
op.GeoM.Translate(float64(menuX), float64(menuY))
screen.DrawImage(subScreen, op)