pause_menu.lua 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. if UiContainer == nil then UiContainer = {} end
  2. UiContainer.PauseMenu = {
  3. position = 1,
  4. position_total = 2,
  5. on_start = function( self )
  6. return 0
  7. end,
  8. on_button = function( self, button, event )
  9. if ui_manager:get_widget( "PauseMenu" ):is_visible() == true then
  10. local menu_cursor = ui_manager:get_widget( "PauseMenu.Menu.Cursor" )
  11. if button == "Enter" and event == "Press" then
  12. script:request_end_sync( Script.UI, "PauseMenu", "hide", 0 )
  13. if self.position == 1 then
  14. script:request_end_sync( Script.UI, "BeginMenu", "show", 0 )
  15. map( "empty" )
  16. FFVII.MenuSettings.pause_available = false
  17. else
  18. FFVII.MenuSettings.available = true
  19. end
  20. elseif button == "Escape" and event == "Press" then
  21. script:request_end_sync( Script.UI, "PauseMenu", "hide", 0 )
  22. FFVII.MenuSettings.available = true
  23. elseif button == "Right" then
  24. self.position = self.position + 1
  25. if self.position > self.position_total then
  26. self.position = 1;
  27. end
  28. menu_cursor:set_default_animation( "Position" .. self.position )
  29. elseif button == "Left" then
  30. self.position = self.position - 1
  31. if self.position <= 0 then
  32. self.position = self.position_total;
  33. end
  34. menu_cursor:set_default_animation( "Position" .. self.position )
  35. end
  36. elseif FFVII.MenuSettings.pause_available == true then
  37. if button == "Enter" and event == "Press" then
  38. FFVII.MenuSettings.available = false
  39. script:request_end_sync( Script.UI, "PauseMenu", "show", 0 )
  40. end
  41. end
  42. return 0
  43. end,
  44. show = function( self )
  45. entity_manager:set_paused( true )
  46. ui_manager:get_widget( "PauseMenu" ):set_visible( true )
  47. return 0;
  48. end,
  49. hide = function( self )
  50. ui_manager:get_widget( "PauseMenu" ):set_visible( false )
  51. entity_manager:set_paused( false )
  52. return 0;
  53. end,
  54. }