package config import "image/color" const ( ScreenWidth = 960 ScreenHeight = 540 ) type GameConfig struct { Screen ScreenConfig Hero HeroConfig HUD HUDConfig Visual VisualConfig } type ScreenConfig struct { Width int Height int } type HeroConfig struct { StartX float64 StartY float64 Radius float64 Speed float64 MaxStamina float64 StaminaDrain float64 StaminaRegen float64 Color color.NRGBA } type HUDConfig struct { X int Y int Margin int } type VisualConfig struct { BackgroundColor color.NRGBA SaveNotificationColor color.NRGBA StaminaNormalColor color.NRGBA StaminaLowColor color.NRGBA FPSGoodColor color.NRGBA FPSWarnColor color.NRGBA FPSPoorColor color.NRGBA } func Default() GameConfig { return GameConfig{ Screen: ScreenConfig{ Width: ScreenWidth, Height: ScreenHeight, }, Hero: HeroConfig{ StartX: ScreenWidth / 2, StartY: ScreenHeight / 2, Radius: 28.0, Speed: 180.0, MaxStamina: 100.0, StaminaDrain: 50.0, StaminaRegen: 30.0, Color: color.NRGBA{R: 210, G: 220, B: 255, A: 255}, }, HUD: HUDConfig{ X: ScreenWidth - 220, Y: 20, Margin: 16, }, Visual: VisualConfig{ BackgroundColor: color.NRGBA{R: 135, G: 206, B: 235, A: 255}, SaveNotificationColor: color.NRGBA{R: 50, G: 200, B: 50, A: 255}, StaminaNormalColor: color.NRGBA{R: 0, G: 255, B: 180, A: 255}, StaminaLowColor: color.NRGBA{R: 255, G: 60, B: 60, A: 255}, FPSGoodColor: color.NRGBA{R: 120, G: 255, B: 120, A: 255}, FPSWarnColor: color.NRGBA{R: 255, G: 210, B: 100, A: 255}, FPSPoorColor: color.NRGBA{R: 255, G: 120, B: 120, A: 255}, }, } }