package activities import ( "github.com/hajimehoshi/ebiten/v2" ) type ActivityStack struct { activityStack []ebiten.Game } var Activities ActivityStack type Activity = ebiten.Game func (s *ActivityStack) PushActivity(a Activity) { s.activityStack = append(s.activityStack, a) } func (s *ActivityStack) PopActivity() Activity { n := len(s.activityStack) a := s.activityStack[n-1] s.activityStack = s.activityStack[:n-1] return a } func (s *ActivityStack) Last() Activity { n := len(s.activityStack) return s.activityStack[n-1] } func PushActivity(a Activity) { Activities.PushActivity(a) } func PopActivity() Activity { return Activities.PopActivity() } func CurActivity() Activity { return Activities.Last() }