Resource.lua 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. class "Resource"
  2. RESOURCE_TEXTURE = 0
  3. RESOURCE_MATERIAL = 1
  4. RESOURCE_SHADER = 2
  5. RESOURCE_PROGRAM = 3
  6. RESOURCE_MESH = 5
  7. RESOURCE_CUBEMAP = 6
  8. function Resource:Resource(...)
  9. for k,v in pairs(arg) do
  10. if type(v) == "table" then
  11. if v.__ptr ~= nil then
  12. arg[k] = v.__ptr
  13. end
  14. end
  15. end
  16. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  17. self.__ptr = Polycore.Resource(unpack(arg))
  18. Polycore.__ptr_lookup[self.__ptr] = self
  19. end
  20. end
  21. function Resource:getResourceName()
  22. local retVal = Polycore.Resource_getResourceName(self.__ptr)
  23. return retVal
  24. end
  25. function Resource:getResourceType()
  26. local retVal = Polycore.Resource_getResourceType(self.__ptr)
  27. return retVal
  28. end
  29. function Resource:setResourceName(newName)
  30. local retVal = Polycore.Resource_setResourceName(self.__ptr, newName)
  31. end
  32. function Resource:setResourcePath(path)
  33. local retVal = Polycore.Resource_setResourcePath(self.__ptr, path)
  34. end
  35. function Resource:getResourcePath()
  36. local retVal = Polycore.Resource_getResourcePath(self.__ptr)
  37. return retVal
  38. end