CardSimEngine/cardsim/player.go
Kistaro Windrider 7f8dcd63d6
Introduce InfoPanel.
InfoPanels are information displays that do not cost actions. One of them (the Prompt) is shown at the main menu; others can be made available as options in the menu, ether on an ongoing basis or for the current/next turn only.
2023-04-01 12:30:39 -07:00

23 lines
552 B
Go

package cardsim
import "math/rand"
// Player stores all gameplay state for one player.
type Player[C StatsCollection] struct {
Stats C
Name string
Deck *Deck[C]
Hand []Card[C]
HandLimit int
ActionsPerTurn int
ActionsRemaining int
PermanentActions []Card[C]
InfoPanels []InfoPanel[C]
Prompt InfoPanel[C]
Rules *RuleCollection[C]
Rand rand.Rand
Turn int
TemporaryMessages []Message
TemporaryPanels []InfoPanel[C]
}