Advertisement
Guest User

Untitled

a guest
Jan 21st, 2015
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.39 KB | None | 0 0
  1. -- Simple Event handler, written by Averice
  2.  
  3. event = {}
  4. event.inputBinds = {}
  5. event.mouseBinds = {}
  6.  
  7. function event.CheckInput()
  8.     for key,tab in pairs(event.inputBinds) do
  9.         if( App.window:KeyHit(key) ) then
  10.             for k, v in pairs(tab) do
  11.                 if( not v.Held ) then
  12.                     v.Func(unpack(v.Args));
  13.                 end
  14.             end
  15.         end
  16.         if( App.window:KeyDown(key) ) then
  17.             for k, v in pairs(tab) do
  18.                 if( v.Held ) then
  19.                     v.Func(unpack(v.Args));
  20.                 end
  21.             end
  22.         end
  23.     end
  24.     for but, tab in pairs(event.mouseBinds) do
  25.         if( App.window:MouseDown(but) ) then
  26.             for k, v in pairs(tab) do
  27.                 v.Func(unpack(v.Args));
  28.             end
  29.         end
  30.     end
  31. end
  32.  
  33. function event.AddInputBind(key, name, held, func, ...)
  34.     local newInput = {
  35.         Func = func,
  36.         Args = {...},
  37.         Held = held or false
  38.     }
  39.     event.inputBinds[key] = event.inputBinds[key] or {};
  40.     event.inputBinds[key][name] = newInput;
  41. end
  42.  
  43. function event.AddMouseBind(but, name, func, ...)
  44.     local newInput = {
  45.         Func = func,
  46.         Args = {...}
  47.     }
  48.     event.mouseBinds[but] = event.mouseBinds[but] or {}
  49.     event.mouseBinds[but][name] = newInput;
  50. end
  51.  
  52. function event.RemoveInputBind(key, name)
  53.     if( event.inputBinds[key] and event.inputBinds[key][name] ) then
  54.         event.inputBinds[key][name] = nil;
  55.     end
  56. end
  57.  
  58. function event.RemoveMouseBinds(but, name)
  59.     if( event.mouseBinds[but] and event.mouseBinds[but][name] ) then
  60.         event.mouseBinds[but][name] = nil;
  61.     end
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement