Event.lua 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. class "Event"
  2. Event.EVENTBASE_EVENT = 0x100
  3. Event.COMPLETE_EVENT = Event.EVENTBASE_EVENT + 0
  4. Event.CHANGE_EVENT = Event.EVENTBASE_EVENT + 1
  5. Event.CANCEL_EVENT = Event.EVENTBASE_EVENT + 2
  6. Event.NOTIFY_EVENT = Event.EVENTBASE_EVENT + 3
  7. Event.FIRE_EVENT = Event.EVENTBASE_EVENT + 4
  8. Event.RESOURCE_RELOAD_EVENT = Event.EVENTBASE_EVENT + 5
  9. Event.SELECT_EVENT = Event.EVENTBASE_EVENT + 6
  10. Event.REMOVE_EVENT = Event.EVENTBASE_EVENT + 7
  11. Event.RESOURCE_CHANGE_EVENT = Event.EVENTBASE_EVENT + 8
  12. Event.RESOURCE_DESTROY_EVENT = Event.EVENTBASE_EVENT + 9
  13. Event.EVENTBASE_NONPOLYCODE = 0x10000
  14. function Event:__getvar(name)
  15. if name == "deleteOnDispatch" then
  16. return Polycode.Event_get_deleteOnDispatch(self.__ptr)
  17. elseif name == "cancelEventFlag" then
  18. return Polycode.Event_get_cancelEventFlag(self.__ptr)
  19. end
  20. end
  21. function Event:__setvar(name,value)
  22. if name == "deleteOnDispatch" then
  23. Polycode.Event_set_deleteOnDispatch(self.__ptr, value)
  24. return true
  25. elseif name == "cancelEventFlag" then
  26. Polycode.Event_set_cancelEventFlag(self.__ptr, value)
  27. return true
  28. end
  29. return false
  30. end
  31. function Event:Event(...)
  32. local arg = {...}
  33. for k,v in pairs(arg) do
  34. if type(v) == "table" then
  35. if v.__ptr ~= nil then
  36. arg[k] = v.__ptr
  37. end
  38. end
  39. end
  40. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  41. self.__ptr = Polycode.Event(unpack(arg))
  42. end
  43. end
  44. function Event:getEventCode()
  45. local retVal = Polycode.Event_getEventCode(self.__ptr)
  46. return retVal
  47. end
  48. function Event:setEventCode(eventCode)
  49. local retVal = Polycode.Event_setEventCode(self.__ptr, eventCode)
  50. end
  51. function Event:getEventType()
  52. local retVal = Polycode.Event_getEventType(self.__ptr)
  53. return retVal
  54. end
  55. function Event:cancelEvent()
  56. local retVal = Polycode.Event_cancelEvent(self.__ptr)
  57. end
  58. function Event:__delete()
  59. if self then Polycode.delete_Event(self.__ptr) end
  60. end