Beispiel #1
0
func spawnerMenu(s *Session, area types.Area) {
	utils.ExecMenu("Spawners", s, func(menu *utils.Menu) {
		for i, spawner := range model.GetAreaSpawners(area.GetId()) {
			sp := spawner
			menu.AddActionI(i, spawner.GetName(), func() bool {
				specificSpawnerMenu(s, sp)
				return true
			})
		}

		menu.AddAction("n", "New", func() bool {
			name := s.getRawUserInput("Name of spawned NPC: ")

			if name != "" {
				model.CreateSpawner(name, area.GetId())
			}
			return true
		})
	})
}
Beispiel #2
0
func specificAreaMenu(s *Session, area types.Area) {
	utils.ExecMenu(area.GetName(), s, func(menu *utils.Menu) {
		menu.AddAction("r", "Rename", func() bool {
			newName := s.getRawUserInput("New name: ")

			if newName != "" {
				area.SetName(newName)
			}
			return true
		})
		menu.AddAction("d", "Delete", func() bool {
			answer := s.getRawUserInput("Are you sure? ")

			if strings.ToLower(answer) == "y" {
				model.DeleteArea(area.GetId())
			}
			return false
		})
		menu.AddAction("s", "Spawners", func() bool {
			spawnerMenu(s, area)
			return true
		})
	})
}