bindings.lua2p 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. local Move = require "orders.move"
  2. local Atk = require "orders.attack"
  3. local lume = @@lib(lume)
  4. local SELECT_NEXT = function ()
  5. local __u = Game.upool:find_selected()
  6. if _u then
  7. local _u = Game.upool:get_next_unit(__u)
  8. if _u then
  9. _u:select()
  10. _u:focus()
  11. end
  12. end
  13. end
  14. !(
  15. local MOVE = function ()
  16. return `
  17. function ()
  18. Move:execute()
  19. end
  20. `
  21. end
  22. local SELECT = function ()
  23. return `
  24. function ()
  25. if Game.cursor.is_hovering then return end
  26. Game.state:select()
  27. end
  28. `
  29. end
  30. local R_MENU = function ()
  31. return `
  32. function ()
  33. local x, y = Game.cursor:get_position()
  34. local sx, sy = Game.cursor:get_scr_position()
  35. Game.state:context_menu(x, y, sx, sy)
  36. end
  37. `
  38. end
  39. local TOGGLE_FULLSCREEN = function ()
  40. return `
  41. function ()
  42. Game.config.fullscreen = not Game.config.fullscreen
  43. _lg.setFullscreen(Game.config.fullscreen)
  44. end
  45. `
  46. end
  47. local TOGGLE_MENU = function ()
  48. return `function () Game.state:menu_toggle() end`
  49. end
  50. local DRAG_SCREEN = function ()
  51. return ` function ()
  52. local dx, dy = Game.cursor:get_delta()
  53. local camera = Game.current_screen.camera
  54. camera:translate(dx / camera:getScale(), dy / camera:getScale())
  55. end `
  56. end
  57. local ZOOM = function ()
  58. return ` function(x, y)
  59. if not Game.cursor.is_hovering then
  60. Game.current_screen:zoom_on_mouse_by (y/50)
  61. end
  62. end
  63. `
  64. end
  65. )
  66. return {
  67. default = {},
  68. deployment = {
  69. { "key:escape:pressed",
  70. --@@TOGGLE_MENU()
  71. love.event.quit
  72. },
  73. { "key:n:pressed", SELECT_NEXT },
  74. { "key:f:pressed", @@TOGGLE_FULLSCREEN() },
  75. { "mouse:1:pressed", @@SELECT() },
  76. { "mouse:2:pressed", @@R_MENU() },
  77. { "mouse:3:down", @@DRAG_SCREEN() },
  78. { "mouse:wheel:", @@ZOOM(x, y) }
  79. },
  80. play = {
  81. {"mouse:1:down", @@SELECT()},
  82. {"mouse:2:pressed", @@MOVE()},
  83. {"mouse:3:down", @@DRAG_SCREEN()},
  84. {"key:escape:pressed",
  85. -- @@TOGGLE_MENU()
  86. love.event.quit },
  87. {"mouse:wheel:", @@ZOOM()},
  88. {"key:n:pressed", SELECT_NEXT},
  89. },
  90. }