PhysicsScreenEntity.lua 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. class "PhysicsScreenEntity"
  2. ENTITY_RECT = 1
  3. ENTITY_CIRCLE = 2
  4. ENTITY_STATICRECT = 3
  5. function PhysicsScreenEntity:__index__(name)
  6. if name == "collisionOnly" then
  7. return Physics2D.PhysicsScreenEntity_get_collisionOnly(self.__ptr)
  8. end
  9. end
  10. function PhysicsScreenEntity:__set_callback(name,value)
  11. if name == "collisionOnly" then
  12. Physics2D.PhysicsScreenEntity_set_collisionOnly(self.__ptr, value)
  13. return true
  14. end
  15. return false
  16. end
  17. function PhysicsScreenEntity:PhysicsScreenEntity(...)
  18. for k,v in pairs(arg) do
  19. if type(v) == "table" then
  20. if v.__ptr ~= nil then
  21. arg[k] = v.__ptr
  22. end
  23. end
  24. end
  25. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  26. self.__ptr = Physics2D.PhysicsScreenEntity(unpack(arg))
  27. Polycore.__ptr_lookup[self.__ptr] = self
  28. end
  29. end
  30. function PhysicsScreenEntity:getScreenEntity()
  31. local retVal = Physics2D.PhysicsScreenEntity_getScreenEntity(self.__ptr)
  32. if Polycore.__ptr_lookup[retVal] ~= nil then
  33. return Polycore.__ptr_lookup[retVal]
  34. else
  35. Polycore.__ptr_lookup[retVal] = ScreenEntity("__skip_ptr__")
  36. Polycore.__ptr_lookup[retVal].__ptr = retVal
  37. return Polycore.__ptr_lookup[retVal]
  38. end
  39. end
  40. function PhysicsScreenEntity:applyTorque(torque)
  41. local retVal = Physics2D.PhysicsScreenEntity_applyTorque(self.__ptr, torque)
  42. end
  43. function PhysicsScreenEntity:applyForce(force)
  44. local retVal = Physics2D.PhysicsScreenEntity_applyForce(self.__ptr, force.__ptr)
  45. end
  46. function PhysicsScreenEntity:setTransform(pos, angle)
  47. local retVal = Physics2D.PhysicsScreenEntity_setTransform(self.__ptr, pos.__ptr, angle)
  48. end
  49. function PhysicsScreenEntity:Update()
  50. local retVal = Physics2D.PhysicsScreenEntity_Update(self.__ptr)
  51. end
  52. function PhysicsScreenEntity:__delete()
  53. Polycore.__ptr_lookup[self.__ptr] = nil
  54. Physics2D.delete_PhysicsScreenEntity(self.__ptr)
  55. end