Advertisement
El_Diablo256

bridge

May 2nd, 2013
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.47 KB | None | 0 0
  1. --[[ Local Variables ]]--
  2.  
  3. local termWidth, termHeight = term.getSize()
  4. local selectedItem = 1
  5. local inMainMenu = true
  6. local inLockdownMenu = false
  7.  
  8. --[[ Menu Methods ]]--
  9.  
  10. function Bridge()
  11.   inBridgeMenu = true
  12.   selectedItem = 1
  13.  
  14.   while BridgeMenu do
  15.     term.clear()
  16.     term.setCursorPos(1,1)
  17.     printMenu(BridgeMenu)
  18.  
  19.     event, key = os.pullEvent("key")
  20.     onKeyPressed(key, LockdownMenu)
  21.   end
  22. end
  23.  
  24. function openmove()
  25. rs.setBundledOutput("bottom",red,true)
  26. sleep(0.5)
  27. rs.setBundledOutput("bottom",red,false)
  28. sleep(0.5)
  29. end
  30.  
  31. function open()
  32. openmove()
  33. openmove()
  34. openmove()
  35. openmove()
  36. openmove()
  37. openmove()
  38. end
  39.        
  40. function BridgeOpen()
  41.   print("Opening Bridge")
  42.   Open()
  43.   sleep(2)
  44.   print("Bridge Opened")
  45.   sleep(2)
  46.   inBridgeMenu = false
  47.   selectedItem = 1
  48. end
  49.  
  50. function closemove()
  51. rs.setBundledOutput("bottom",black,true)
  52. sleep(0.5)
  53. rs.setBundledOutput("bottom",black,false)
  54. sleep(0.5)
  55. end
  56.  
  57. function close()
  58. closemove()
  59. closemove()
  60. closemove()
  61. closemove()
  62. closemove()
  63. closemove()
  64. end
  65.  
  66. function BridgeClose()
  67.   print("Closing Bridge")
  68.   sleep(2)
  69.   print("Bridge Closed")
  70.   inBridgeMenu = false
  71.   selectedItem = 1
  72. end
  73.  
  74. function Config()
  75.   inMainMenu = false
  76. end
  77.  
  78. function shutdown()
  79.   shell.run("stop")
  80. end
  81.  
  82. --[[ Menu Definitions ]]--
  83.  
  84. mainMenu = {
  85.   [1] = { text = "Bridge Control", handler = Bridge },
  86.   [2] = { text = "Config", handler = Config },
  87.   [3] = { text = "Shutdown", handler = shutdown }
  88. }
  89.  
  90. BridgeMenu = {
  91.   [1] = { text = "Open Bridge", handler = BridgeOpen  },
  92.   [2] = { text = "Close Bridge", handler = BridgeClose }
  93. }
  94.  
  95. --[[ Printing Methods ]]--
  96.  
  97. function printMenu( menu )
  98.   for i=1,#menu do
  99.     if i == selectedItem then
  100.       print(">> "..menu[i].text)
  101.     else
  102.       print("  "..menu[i].text)
  103.     end
  104.   end
  105. end
  106.  
  107. --[[ Handler Methods ]]--
  108. function onKeyPressed( key, menu)
  109.   if key == keys.enter then
  110.     onItemSelected(menu)
  111.   elseif key == keys.up then
  112.     if selectedItem > 1 then
  113.       selectedItem = selectedItem - 1
  114.     end
  115.   elseif key == keys.down then
  116.     if selectedItem < #menu then
  117.       selectedItem = selectedItem + 1
  118.     end
  119.   end
  120. end
  121.  
  122. function onItemSelected( menu )
  123. menu[selectedItem].handler()
  124. end
  125.  
  126. --[[ Main Method ]]--
  127.  
  128. function main()
  129.   while inMainMenu do
  130.     term.clear()
  131.     term.setCursorPos(1,1)
  132.     printMenu(mainMenu)
  133.  
  134.     event, key = os.pullEvent("key")
  135.     onKeyPressed(key,mainMenu)
  136.   end
  137. end
  138.  
  139. main(
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement