remove demo game
This commit is contained in:
27
state.def.go
Normal file
27
state.def.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package pncdsl
|
||||
|
||||
type State struct {
|
||||
flags map[string]bool
|
||||
vars map[string]any
|
||||
visited map[string]int
|
||||
talked map[string]int
|
||||
}
|
||||
|
||||
func NewState() *State {
|
||||
return &State{
|
||||
flags: make(map[string]bool),
|
||||
vars: make(map[string]any),
|
||||
visited: make(map[string]int),
|
||||
talked: make(map[string]int),
|
||||
}
|
||||
}
|
||||
|
||||
func (s *State) Flag(name string) bool { return s.flags[name] }
|
||||
func (s *State) SetFlag(name string) { s.flags[name] = true }
|
||||
func (s *State) ClearFlag(name string) { delete(s.flags, name) }
|
||||
func (s *State) Var(name string) any { return s.vars[name] }
|
||||
func (s *State) SetVar(name string, v any) { s.vars[name] = v }
|
||||
func (s *State) Visited(name string) int { return s.visited[name] }
|
||||
func (s *State) NoteVisit(name string) { s.visited[name]++ }
|
||||
func (s *State) Talked(node string) int { return s.talked[node] }
|
||||
func (s *State) NoteTalked(node string) { s.talked[node]++ }
|
||||
Reference in New Issue
Block a user