Advertisement
Guest User

glasses-test.lua

a guest
Oct 18th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.92 KB | None | 0 0
  1. local component = require("component")
  2. local event = require("event")
  3.  
  4. local gls = component.glasses
  5.  
  6. gls.removeAll()
  7.  
  8. local hintText = gls.addText2D()
  9. hintText.setText("Activate the overlay to see the toy GUI")
  10. hintText.addAutoTranslation(50, 80)
  11. hintText.setHorizontalAlign("center")
  12. hintText.setCondition(hintText.addScale(0, 0, 0), "OVERLAY_ACTIVE", true)
  13.  
  14.  
  15. local addBlockButton = gls.addBox2D()
  16. local addBlockLabel = gls.addText2D()
  17.  
  18. addBlockLabel.setCondition(addBlockLabel.addScale(0, 0, 0), "OVERLAY_INACTIVE", true)
  19. addBlockButton.setCondition(addBlockButton.addScale(0,0,0), "OVERLAY_INACTIVE", true)
  20.  
  21. addBlockLabel.setText("Add Block")
  22. addBlockLabel.addTranslation(50, 10, 0)
  23. addBlockLabel.setHorizontalAlign("center")
  24. addBlockLabel.setVerticalAlign("middle")
  25.  
  26. addBlockButton.setSize(100, 20, 0)
  27. addBlockButton.addColor(0, 0, 0, 0.95)
  28. addBlockButton.addColor(0, 0, 0, 0.95)
  29.  
  30. local state = "normal"
  31.  
  32. local function evt_overlay_click(evt, comp, user, x, y, btn)
  33.   if state == "normal" then
  34.   if x > 0 and y > 0 and x < 100 and y < 20 and btn == 0 then
  35.     print("Placing virtual block...")
  36.     state = "place-virtual-block"
  37.   end
  38.   end
  39. end
  40.  
  41. local function evt_world_interact(evt, comp, user, px, py, pz, plx, ply, plz, rot, bx, by, bz, side)
  42.   if state == "place-virtual-sign" then
  43.     local sign = gls.addText3D()
  44.     sign.setText("Position: " .. bx .. "," .. by .. "," .. bz)
  45.     sign.addTranslate(bx, by, bz)
  46.     sign.addScale(0.1, 0.1, 0.1)
  47.  
  48.     print("Placed virtual sign.")
  49.     state = "normal"
  50.   elseif state == "place-virtual-block" then
  51.     local blck = gls.addCube3D()
  52.     blck.addTranslate(bx, by + 1, bz)
  53.  
  54.     print("Placed virtual block")
  55.     state = "normal"
  56.   end
  57. end
  58.  
  59. event.listen("interact_overlay", evt_overlay_click)
  60. event.listen("interact_world_block_left", evt_world_interact)
  61. event.pull("interrupted")
  62. event.ignore("interact_overlay", evt_overlay_click)
  63. event.ignore("interact_world_block_left", evt_world_interact)
  64. gls.removeAll()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement