Consolodated config, added portals, etc.
This commit is contained in:
@@ -101,9 +101,10 @@ type state struct {
|
||||
gameplayScreen *screens.GameplayScreen
|
||||
pauseMenu *menu.PauseMenu
|
||||
|
||||
fpsEnabled bool
|
||||
fpsCap FPSCap
|
||||
saveManager *save.Manager
|
||||
fpsEnabled bool
|
||||
fpsCap FPSCap
|
||||
portalVisibility bool
|
||||
saveManager *save.Manager
|
||||
|
||||
lastAutoSave time.Time
|
||||
autoSaveInterval time.Duration
|
||||
@@ -120,6 +121,7 @@ func newState() *state {
|
||||
lastTick: now,
|
||||
fpsEnabled: false,
|
||||
fpsCap: FPSCap60,
|
||||
portalVisibility: false,
|
||||
lastAutoSave: now,
|
||||
autoSaveInterval: 30 * time.Second,
|
||||
}
|
||||
@@ -133,6 +135,7 @@ func newState() *state {
|
||||
if saveManager != nil {
|
||||
if settings, err := saveManager.LoadSettings(); err == nil {
|
||||
s.fpsEnabled = settings.FPSMonitor
|
||||
s.portalVisibility = settings.PortalVisibility
|
||||
switch settings.FPSCap {
|
||||
case "60":
|
||||
s.fpsCap = FPSCap60
|
||||
@@ -149,14 +152,16 @@ func newState() *state {
|
||||
// Initialize screens
|
||||
s.splashScreen = screens.NewSplashScreen()
|
||||
s.titleScreen = screens.NewTitleScreen()
|
||||
s.gameplayScreen = screens.NewGameplayScreen(ScreenWidth, ScreenHeight, &s.fpsEnabled)
|
||||
s.gameplayScreen = screens.NewGameplayScreen(ScreenWidth, ScreenHeight, &s.fpsEnabled, &s.portalVisibility)
|
||||
s.pauseMenu = menu.NewPauseMenu()
|
||||
|
||||
// Wire up settings references
|
||||
s.titleScreen.SetFPSMonitor(&s.fpsEnabled)
|
||||
s.titleScreen.SetFPSCap(&s.fpsCap)
|
||||
s.titleScreen.SetPortalVisibility(&s.portalVisibility)
|
||||
s.pauseMenu.SetFPSMonitor(&s.fpsEnabled)
|
||||
s.pauseMenu.SetFPSCap(&s.fpsCap)
|
||||
s.pauseMenu.SetPortalVisibility(&s.portalVisibility)
|
||||
|
||||
if saveManager != nil {
|
||||
s.titleScreen.SetHasSaveGame(saveManager.HasSavedGame())
|
||||
@@ -167,8 +172,9 @@ func newState() *state {
|
||||
// Create initial save file
|
||||
if saveManager != nil {
|
||||
settings := &save.Settings{
|
||||
FPSMonitor: s.fpsEnabled,
|
||||
FPSCap: s.fpCapToStringHelper(s.fpsCap),
|
||||
FPSMonitor: s.fpsEnabled,
|
||||
FPSCap: s.fpCapToStringHelper(s.fpsCap),
|
||||
PortalVisibility: s.portalVisibility,
|
||||
}
|
||||
saveManager.SaveSettings(settings)
|
||||
}
|
||||
@@ -192,6 +198,7 @@ func (s *state) fpCapToStringHelper(cap FPSCap) string {
|
||||
func (g *Game) Update() error {
|
||||
prevFPSEnabled := g.state.fpsEnabled
|
||||
prevFPSCap := g.state.fpsCap
|
||||
prevPortalVisibility := g.state.portalVisibility
|
||||
|
||||
currentTPS := g.state.fpsCap.TPS()
|
||||
if currentTPS < 0 {
|
||||
@@ -213,7 +220,7 @@ func (g *Game) Update() error {
|
||||
err = g.updatePaused()
|
||||
}
|
||||
|
||||
if prevFPSEnabled != g.state.fpsEnabled || prevFPSCap != g.state.fpsCap {
|
||||
if prevFPSEnabled != g.state.fpsEnabled || prevFPSCap != g.state.fpsCap || prevPortalVisibility != g.state.portalVisibility {
|
||||
g.saveSettings()
|
||||
}
|
||||
|
||||
@@ -338,8 +345,9 @@ func (g *Game) saveSettings() {
|
||||
}
|
||||
|
||||
settings := &save.Settings{
|
||||
FPSMonitor: g.state.fpsEnabled,
|
||||
FPSCap: g.fpCapToString(g.state.fpsCap),
|
||||
FPSMonitor: g.state.fpsEnabled,
|
||||
FPSCap: g.fpCapToString(g.state.fpsCap),
|
||||
PortalVisibility: g.state.portalVisibility,
|
||||
}
|
||||
g.state.saveManager.SaveSettings(settings)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user