sr2lua/activity_level.lua

  1. ----------------------- 
  2. -- ACTIVITY LEVEL -- 
  3. ----------------------- 
  4.  
  5. function activity_level_init() 
  6. 	menu_store_use_hud(true) 
  7. 	menu_init() 
  8. 	menu_show(Activity_level_menu) 
  9. end 
  10.  
  11. function activity_level_close() 
  12. 	menu_close(activity_level_exit) 
  13. end 
  14.  
  15. function activity_level_exit() 
  16. 	vint_document_unload()	 
  17. end 
  18.  
  19. ------------------------ 
  20. --	MENU FUNCTIONALITY -- 
  21. ------------------------ 
  22.  
  23. function activity_level_menu_init(menu_data) 
  24. 	Activity_level_menu.num_items = 0 
  25. 	vint_dataresponder_request("activity_level", "activity_level_add_item", 0, "list") 
  26. 	btn_tips_footer_attach(menu_data) 
  27. end 
  28.  
  29. function activity_level_add_item(display_name, level, client_has_completed) 
  30. 	-- special case: level -1 is actually the activity name 
  31. 	if level == -1 then 
  32. 		Activity_level_menu.header_label_str = display_name 
  33. 		return 
  34. 	end 
  35.  
  36. 	-- continue processing menu item 
  37. 	local i = Activity_level_menu.num_items 
  38. 	Activity_level_menu[i] = { label = display_name, type = MENU_ITEM_TYPE_SELECTABLE, level = level, 
  39. 			client_has_completed = client_has_completed, on_select = activity_level_select } 
  40. 	i = i + 1 
  41. 	Activity_level_menu.num_items = i 
  42. end 
  43.  
  44. function activity_level_select(menu_label, menu_data) 
  45. 	vint_dataresponder_request("activity_level", "activity_level_add_item", 0, "select", menu_data.level) 
  46. 	activity_level_close() 
  47. end 
  48.  
  49. function activity_level_cancel() 
  50. 	vint_dataresponder_request("activity_level", "activity_level_add_item", 0, "cancel") 
  51. 	thread_new("activity_level_close") 
  52. end 
  53.  
  54. function activity_level_get_menu_width(menu_data) 
  55. 	local width = Menu_option_labels.max_label_w 
  56. 	if menu_data.footer.width > width then 
  57. 		width = menu_data.footer.width 
  58. 	end 
  59. 	return width 
  60. end 
  61.  
  62. --------------- 
  63. -- MENU DATA -- 
  64. --------------- 
  65. Activity_level_menu = { 
  66. 	header_label_str	= "ACTIVITY_LEVEL_SELECTION", 
  67. 	on_show 	  			= activity_level_menu_init, 
  68. 	on_back 	  			= activity_level_cancel, 
  69. 	get_width 			= activity_level_get_menu_width, 
  70. } 
  71.