aboutsummaryrefslogtreecommitdiff
path: root/go/client/main.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2025-06-06 16:42:46 -0500
committerFlorian Fischer <florian.fischer@muhq.space>2025-08-20 15:57:18 +0200
commitbcffeac4c5086eba59448d4fe5d79bb786b05de2 (patch)
treecc0b3648f2b070c731225e88b42fb3f4adcb65da /go/client/main.go
parentc15142c3bcae4316c8580adb7a9f0b223e586ae9 (diff)
downloadmuhqs-game-bcffeac4c5086eba59448d4fe5d79bb786b05de2.tar.gz
muhqs-game-bcffeac4c5086eba59448d4fe5d79bb786b05de2.zip
refactor client activities
Make the activity stack explicit and move reusable activities to the activity package.
Diffstat (limited to 'go/client/main.go')
-rw-r--r--go/client/main.go17
1 files changed, 4 insertions, 13 deletions
diff --git a/go/client/main.go b/go/client/main.go
index 4d46ed9a..b631269e 100644
--- a/go/client/main.go
+++ b/go/client/main.go
@@ -8,6 +8,7 @@ import (
"github.com/hajimehoshi/ebiten/v2"
+ "muhq.space/muhqs-game/go/activities"
"muhq.space/muhqs-game/go/font"
)
@@ -21,24 +22,14 @@ var startDeckPath string
type app struct {
windowWidth int
windowHeight int
-
- activities []ebiten.Game
-}
-
-func (a *app) pushActivity(activity ebiten.Game) {
- a.activities = append(a.activities, activity)
-}
-
-func (a *app) popActivity() {
- a.activities = a.activities[:len(a.activities)-1]
}
func (a *app) Update() error {
- return a.activities[len(a.activities)-1].Update()
+ return activities.CurActivity().Update()
}
func (a *app) Draw(screen *ebiten.Image) {
- a.activities[len(a.activities)-1].Draw(screen)
+ activities.CurActivity().Draw(screen)
}
func (a *app) Layout(outsideWidth, outsideHeight int) (int, int) {
@@ -86,7 +77,7 @@ func main() {
1 nautics/galley`
}
- app.pushActivity(startMenu)
+ activities.PushActivity(startMenu)
if err := ebiten.RunGame(app); err != nil {
if err != ebiten.Termination {
log.Fatal(err)