Better commenting throughout
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user