main_menu.lua 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. if UiContainer == nil then UiContainer = {} end
  2. UiContainer.MainMenu = {
  3. position = 1,
  4. position_total = 10,
  5. on_start = function( self )
  6. return 0
  7. end,
  8. on_button = function( self, button, event )
  9. if ui_manager:get_widget( "MainMenu" ):is_visible() == true then
  10. local characters = ui_manager:get_widget( "MainMenu.Container.Characters" )
  11. local menu = ui_manager:get_widget( "MainMenu.Container.Menu" )
  12. local menu_cursor = ui_manager:get_widget( "MainMenu.Container.Menu.Cursor" )
  13. local timegil = ui_manager:get_widget( "MainMenu.Container.TimeGil" )
  14. local location = ui_manager:get_widget( "MainMenu.Container.Location" )
  15. if button == "Escape" and event == "Press" then
  16. script:request_end_sync( Script.UI, "MainMenu", "hide", 0 )
  17. elseif button == "Down" then
  18. self.position = self.position + 1
  19. if self.position > self.position_total then
  20. self.position = 1;
  21. end
  22. menu_cursor:set_default_animation( "Position" .. self.position )
  23. elseif button == "Up" then
  24. self.position = self.position - 1
  25. if self.position <= 0 then
  26. self.position = self.position_total;
  27. end
  28. menu_cursor:set_default_animation( "Position" .. self.position )
  29. end
  30. elseif FFVII.MenuSettings.available == true then
  31. if button == "Escape" and event == "Press" then
  32. script:request_end_sync( Script.UI, "MainMenu", "show", 0 )
  33. end
  34. end
  35. return 0
  36. end,
  37. show = function( self )
  38. entity_manager:set_paused( true )
  39. FFVII.MenuSettings.pause_available = false
  40. ui_manager:get_widget( "MainMenu" ):set_visible( true )
  41. local characters = ui_manager:get_widget( "MainMenu.Container.Characters" )
  42. local menu = ui_manager:get_widget( "MainMenu.Container.Menu" )
  43. local menu_cursor = ui_manager:get_widget( "MainMenu.Container.Menu.Cursor" )
  44. local timegil = ui_manager:get_widget( "MainMenu.Container.TimeGil" )
  45. local location = ui_manager:get_widget( "MainMenu.Container.Location" )
  46. ui_manager:get_widget( "MainMenu.Container.Menu.PHSText" ):set_visible( false )
  47. ui_manager:get_widget( "MainMenu.Container.Menu.SaveText" ):set_colour( 0.4, 0.4, 0.4 )
  48. characters:play_animation_stop( "Appear" )
  49. menu:play_animation_stop( "Appear" )
  50. menu_cursor:set_default_animation( "Position" .. self.position )
  51. timegil:play_animation_stop( "Appear" )
  52. location:play_animation_stop( "Appear" )
  53. location:animation_sync()
  54. return 0;
  55. end,
  56. hide = function( self )
  57. local characters = ui_manager:get_widget( "MainMenu.Container.Characters" )
  58. local menu = ui_manager:get_widget( "MainMenu.Container.Menu" )
  59. local timegil = ui_manager:get_widget( "MainMenu.Container.TimeGil" )
  60. local location = ui_manager:get_widget( "MainMenu.Container.Location" )
  61. characters:play_animation_stop( "Disappear" )
  62. menu:play_animation_stop( "Disappear" )
  63. timegil:play_animation_stop( "Disappear" )
  64. location:play_animation_stop( "Disappear" )
  65. location:animation_sync()
  66. ui_manager:get_widget( "MainMenu" ):set_visible( false )
  67. FFVII.MenuSettings.pause_available = true
  68. entity_manager:set_paused( false )
  69. return 0;
  70. end,
  71. }