limebriggs

menu test

Apr 12th, 2013
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.00 KB | None | 0 0
  1. --[[ Local Variables ]]--
  2.  
  3. local termWidth, termHeight = term.getSize()
  4. local selectedItem = 1
  5. local InMainMenu = true
  6. local InAdminMenu = false
  7. local InCartMenu = false
  8.  
  9. --[[ Menu Methods ]]--
  10. function Choice1()
  11.         InCartMenu = true
  12.         selectedItem = 1
  13.         while InCartMenu do
  14.                 term.clear()
  15.                 term.setCursorPos(1,1)
  16.                 printMenu(CartMenu)
  17.        
  18.                 event, key = os.pullEvent("key")
  19.                 onKeyPressed(key, CartMenu)
  20.         end
  21. end
  22.  
  23. function Choice2()
  24.         InAdminMenu = true
  25.         selectedItem = 1
  26.         while InAdminMenu do
  27.                 term.clear()
  28.                 term.setCursorPos(1,1)
  29.                 printMenu(AdminMenu)
  30.        
  31.                 event, key = os.pullEvent("key")
  32.                 onKeyPressed(key, AdminMenu)
  33.         end
  34. end
  35.  
  36. function login()
  37.       InCartMenu = true
  38.         selectedItem = 1
  39.         while InCartMenu do
  40.                 term.clear()
  41.                 term.setCursorPos(1,1)
  42.                 printMenu(CartMenu)
  43.        
  44.                 event, key = os.pullEvent("key")
  45.                 onKeyPressed(key, CartMenu)
  46.         end
  47. end
  48.  
  49. function Exit()
  50.         InMainMenu = false
  51. end
  52.  
  53. function lime()
  54.  
  55. end
  56.  
  57. function red()
  58.  
  59. end
  60.  
  61. function green()
  62.  
  63. end
  64.  
  65. function blue()
  66. end
  67.  
  68.  
  69. --[[ Menu Definitions ]]--
  70.  
  71. MainMenu = {
  72.         [1] = { text = "Mannage carts ", handler = Choice1 },
  73.         [2] = { text = "adimn area", handler = Choice2 },
  74.         [3] = { text = "Exit", handler = Exit }
  75. }
  76.  
  77. Adminmenu = {
  78.         [1] = { text = "login", handler = login },
  79.         [2] = { text = "exit", handler = Exit }
  80. }
  81. Cartmenu = {
  82.         [1] = { text = "lime", handler = lime },
  83.         [2] = { text = "red", handler = red },
  84.         [3] = { text = "blue", handler = blue },
  85.         [4] = { text = "green", handler = green }
  86. }
  87.  
  88.        
  89. --[[ Printing Methods ]]--
  90.  
  91. function printMenu(menu)
  92.         for i=1, #menu do
  93.                 if i == selectedItem then
  94.                         print (">> "..menu[i].text)
  95.                 else
  96.                         print ("   "..menu[i].text)
  97.                 end
  98.         end
  99. end
  100.  
  101. --[[ Handler Methods ]]--
  102.  
  103. function onKeyPressed( key, menu )
  104.         if key == keys.enter then
  105.                 onItemSelected(menu)
  106.         elseif key == keys.up then
  107.                 if selectedItem > 1 then
  108.                         selectedItem = selectedItem -1
  109.                 end
  110.         elseif key == keys.down then
  111.                 if selectedItem < #menu then
  112.                         selectedItem = selectedItem +1
  113.                 end
  114.         end
  115. end
  116.  
  117. function onItemSelected( menu )
  118.         menu[selectedItem].handler()
  119. end
  120.  
  121. --[[ Main Method ]]--
  122.  
  123. function main()
  124.         while InMainMenu do
  125.                 term.clear()
  126.                 term.setCursorPos(1,1)
  127.                 printMenu(MainMenu)
  128.                
  129.                 event, key = os.pullEvent("key")
  130.                 onKeyPressed(key, MainMenu)
  131.         end
  132. end
  133.  
  134. main()
Advertisement
Add Comment
Please, Sign In to add comment