ResourceLoader.xml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="ResourceLoader" inherits="Object" version="4.0">
  3. <brief_description>
  4. Singleton used to load resource files.
  5. </brief_description>
  6. <description>
  7. Singleton used to load resource files from the filesystem.
  8. It uses the many [ResourceFormatLoader] classes registered in the engine (either built-in or from a plugin) to load files into memory and convert them to a format that can be used by the engine.
  9. </description>
  10. <tutorials>
  11. <link title="OS Test Demo">https://godotengine.org/asset-library/asset/677</link>
  12. </tutorials>
  13. <methods>
  14. <method name="exists">
  15. <return type="bool" />
  16. <argument index="0" name="path" type="String" />
  17. <argument index="1" name="type_hint" type="String" default="&quot;&quot;" />
  18. <description>
  19. Returns whether a recognized resource exists for the given [code]path[/code].
  20. An optional [code]type_hint[/code] can be used to further specify the [Resource] type that should be handled by the [ResourceFormatLoader]. Anything that inherits from [Resource] can be used as a type hint, for example [Image].
  21. </description>
  22. </method>
  23. <method name="get_dependencies">
  24. <return type="PackedStringArray" />
  25. <argument index="0" name="path" type="String" />
  26. <description>
  27. Returns the dependencies for the resource at the given [code]path[/code].
  28. </description>
  29. </method>
  30. <method name="get_recognized_extensions_for_type">
  31. <return type="PackedStringArray" />
  32. <argument index="0" name="type" type="String" />
  33. <description>
  34. Returns the list of recognized extensions for a resource type.
  35. </description>
  36. </method>
  37. <method name="get_resource_uid">
  38. <return type="int" />
  39. <argument index="0" name="path" type="String" />
  40. <description>
  41. Returns the ID associated with a given resource path, or [code]-1[/code] when no such ID exists.
  42. </description>
  43. </method>
  44. <method name="has_cached">
  45. <return type="bool" />
  46. <argument index="0" name="path" type="String" />
  47. <description>
  48. Returns whether a cached resource is available for the given [code]path[/code].
  49. Once a resource has been loaded by the engine, it is cached in memory for faster access, and future calls to the [method load] method will use the cached version. The cached resource can be overridden by using [method Resource.take_over_path] on a new resource for that same path.
  50. </description>
  51. </method>
  52. <method name="load">
  53. <return type="Resource" />
  54. <argument index="0" name="path" type="String" />
  55. <argument index="1" name="type_hint" type="String" default="&quot;&quot;" />
  56. <argument index="2" name="cache_mode" type="int" enum="ResourceLoader.CacheMode" default="1" />
  57. <description>
  58. Loads a resource at the given [code]path[/code], caching the result for further access.
  59. The registered [ResourceFormatLoader]s are queried sequentially to find the first one which can handle the file's extension, and then attempt loading. If loading fails, the remaining ResourceFormatLoaders are also attempted.
  60. An optional [code]type_hint[/code] can be used to further specify the [Resource] type that should be handled by the [ResourceFormatLoader]. Anything that inherits from [Resource] can be used as a type hint, for example [Image].
  61. The [code]cache_mode[/code] property defines whether and how the cache should be used or updated when loading the resource. See [enum CacheMode] for details.
  62. Returns an empty resource if no [ResourceFormatLoader] could handle the file.
  63. GDScript has a simplified [method @GDScript.load] built-in method which can be used in most situations, leaving the use of [ResourceLoader] for more advanced scenarios.
  64. </description>
  65. </method>
  66. <method name="load_threaded_get">
  67. <return type="Resource" />
  68. <argument index="0" name="path" type="String" />
  69. <description>
  70. Returns the resource loaded by [method load_threaded_request].
  71. If this is called before the loading thread is done (i.e. [method load_threaded_get_status] is not [constant THREAD_LOAD_LOADED]), the calling thread will be blocked until the resource has finished loading.
  72. </description>
  73. </method>
  74. <method name="load_threaded_get_status">
  75. <return type="int" enum="ResourceLoader.ThreadLoadStatus" />
  76. <argument index="0" name="path" type="String" />
  77. <argument index="1" name="progress" type="Array" default="[]" />
  78. <description>
  79. Returns the status of a threaded loading operation started with [method load_threaded_request] for the resource at [code]path[/code]. See [enum ThreadLoadStatus] for possible return values.
  80. An array variable can optionally be passed via [code]progress[/code], and will return a one-element array containing the percentage of completion of the threaded loading.
  81. </description>
  82. </method>
  83. <method name="load_threaded_request">
  84. <return type="int" enum="Error" />
  85. <argument index="0" name="path" type="String" />
  86. <argument index="1" name="type_hint" type="String" default="&quot;&quot;" />
  87. <argument index="2" name="use_sub_threads" type="bool" default="false" />
  88. <description>
  89. Loads the resource using threads. If [code]use_sub_threads[/code] is [code]true[/code], multiple threads will be used to load the resource, which makes loading faster, but may affect the main thread (and thus cause game slowdowns).
  90. </description>
  91. </method>
  92. <method name="set_abort_on_missing_resources">
  93. <return type="void" />
  94. <argument index="0" name="abort" type="bool" />
  95. <description>
  96. Changes the behavior on missing sub-resources. The default behavior is to abort loading.
  97. </description>
  98. </method>
  99. </methods>
  100. <constants>
  101. <constant name="THREAD_LOAD_INVALID_RESOURCE" value="0" enum="ThreadLoadStatus">
  102. The resource is invalid, or has not been loaded with [method load_threaded_request].
  103. </constant>
  104. <constant name="THREAD_LOAD_IN_PROGRESS" value="1" enum="ThreadLoadStatus">
  105. The resource is still being loaded.
  106. </constant>
  107. <constant name="THREAD_LOAD_FAILED" value="2" enum="ThreadLoadStatus">
  108. Some error occurred during loading and it failed.
  109. </constant>
  110. <constant name="THREAD_LOAD_LOADED" value="3" enum="ThreadLoadStatus">
  111. The resource was loaded successfully and can be accessed via [method load_threaded_get].
  112. </constant>
  113. <constant name="CACHE_MODE_IGNORE" value="0" enum="CacheMode">
  114. </constant>
  115. <constant name="CACHE_MODE_REUSE" value="1" enum="CacheMode">
  116. </constant>
  117. <constant name="CACHE_MODE_REPLACE" value="2" enum="CacheMode">
  118. </constant>
  119. </constants>
  120. </class>