diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-10-18 13:12:41 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-10-18 13:12:41 +0200 |
| commit | ce0392cbe4d84b0fb78179686efa770c695cc5e9 (patch) | |
| tree | 74a4a2e2710bdc3ce9677c4354058e47dccdd86b /go | |
| parent | 2c2a2d84a92cda814e0e56d9408e6cbfd68c4fbb (diff) | |
| download | muhqs-game-ce0392cbe4d84b0fb78179686efa770c695cc5e9.tar.gz muhqs-game-ce0392cbe4d84b0fb78179686efa770c695cc5e9.zip | |
format phaseChange as the next phase
Diffstat (limited to 'go')
| -rw-r--r-- | go/game/events.go | 8 | ||||
| -rw-r--r-- | go/game/state.go | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/go/game/events.go b/go/game/events.go index 2e0b0f08..f62e125a 100644 --- a/go/game/events.go +++ b/go/game/events.go @@ -91,6 +91,10 @@ type Event struct { } func (e Event) String() string { + if e.eventType == phaseChange { + return fmt.Sprintf("%s", e.sources[0]) + } + if len(e.sources) == 0 { return e.eventType.String() } @@ -129,8 +133,8 @@ func newResolvedActionEvent(action Action, err error) Event { } } -func newPhaseChangeEvent() Event { - return Event{eventType: phaseChange} +func newPhaseChangeEvent(old, next PhaseType) Event { + return Event{eventType: phaseChange, sources: []any{old}, affected: []any{next}} } func (s *LocalState) fireEvent(e Event) { diff --git a/go/game/state.go b/go/game/state.go index 1ab3c95d..a4e158e1 100644 --- a/go/game/state.go +++ b/go/game/state.go @@ -154,8 +154,9 @@ func (s *LocalState) IsActivePlayer(p *Player) bool { } func (s *LocalState) changePhase(next PhaseType) []*Player { + ev := newPhaseChangeEvent(s.activePhase, next) s.activePhase = next - s.fireEvent(newPhaseChangeEvent()) + s.fireEvent(ev) return s.stateBasedActions() } |
