class_resourceloader.rst 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the ResourceLoader.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_ResourceLoader:
  6. ResourceLoader
  7. ==============
  8. **Inherits:** :ref:`Object<class_Object>`
  9. Singleton used to load resource files.
  10. Description
  11. -----------
  12. Singleton used to load resource files from the filesystem.
  13. It uses the many :ref:`ResourceFormatLoader<class_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.
  14. Tutorials
  15. ---------
  16. - `OS Test Demo <https://godotengine.org/asset-library/asset/677>`__
  17. Methods
  18. -------
  19. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | :ref:`bool<class_bool>` | :ref:`exists<class_ResourceLoader_method_exists>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type_hint="" **)** |
  21. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_dependencies<class_ResourceLoader_method_get_dependencies>` **(** :ref:`String<class_String>` path **)** |
  23. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`get_recognized_extensions_for_type<class_ResourceLoader_method_get_recognized_extensions_for_type>` **(** :ref:`String<class_String>` type **)** |
  25. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | :ref:`bool<class_bool>` | :ref:`has<class_ResourceLoader_method_has>` **(** :ref:`String<class_String>` path **)** |
  27. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`bool<class_bool>` | :ref:`has_cached<class_ResourceLoader_method_has_cached>` **(** :ref:`String<class_String>` path **)** |
  29. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | :ref:`Resource<class_Resource>` | :ref:`load<class_ResourceLoader_method_load>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type_hint="", :ref:`bool<class_bool>` no_cache=false **)** |
  31. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | :ref:`ResourceInteractiveLoader<class_ResourceInteractiveLoader>` | :ref:`load_interactive<class_ResourceLoader_method_load_interactive>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type_hint="" **)** |
  33. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | void | :ref:`set_abort_on_missing_resources<class_ResourceLoader_method_set_abort_on_missing_resources>` **(** :ref:`bool<class_bool>` abort **)** |
  35. +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. Method Descriptions
  37. -------------------
  38. .. _class_ResourceLoader_method_exists:
  39. - :ref:`bool<class_bool>` **exists** **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type_hint="" **)**
  40. Returns whether a recognized resource exists for the given ``path``.
  41. An optional ``type_hint`` can be used to further specify the :ref:`Resource<class_Resource>` type that should be handled by the :ref:`ResourceFormatLoader<class_ResourceFormatLoader>`.
  42. ----
  43. .. _class_ResourceLoader_method_get_dependencies:
  44. - :ref:`PoolStringArray<class_PoolStringArray>` **get_dependencies** **(** :ref:`String<class_String>` path **)**
  45. Returns the dependencies for the resource at the given ``path``.
  46. ----
  47. .. _class_ResourceLoader_method_get_recognized_extensions_for_type:
  48. - :ref:`PoolStringArray<class_PoolStringArray>` **get_recognized_extensions_for_type** **(** :ref:`String<class_String>` type **)**
  49. Returns the list of recognized extensions for a resource type.
  50. ----
  51. .. _class_ResourceLoader_method_has:
  52. - :ref:`bool<class_bool>` **has** **(** :ref:`String<class_String>` path **)**
  53. *Deprecated method.* Use :ref:`has_cached<class_ResourceLoader_method_has_cached>` or :ref:`exists<class_ResourceLoader_method_exists>` instead.
  54. ----
  55. .. _class_ResourceLoader_method_has_cached:
  56. - :ref:`bool<class_bool>` **has_cached** **(** :ref:`String<class_String>` path **)**
  57. Returns whether a cached resource is available for the given ``path``.
  58. Once a resource has been loaded by the engine, it is cached in memory for faster access, and future calls to the :ref:`load<class_ResourceLoader_method_load>` or :ref:`load_interactive<class_ResourceLoader_method_load_interactive>` methods will use the cached version. The cached resource can be overridden by using :ref:`Resource.take_over_path<class_Resource_method_take_over_path>` on a new resource for that same path.
  59. ----
  60. .. _class_ResourceLoader_method_load:
  61. - :ref:`Resource<class_Resource>` **load** **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type_hint="", :ref:`bool<class_bool>` no_cache=false **)**
  62. Loads a resource at the given ``path``, caching the result for further access.
  63. The registered :ref:`ResourceFormatLoader<class_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.
  64. An optional ``type_hint`` can be used to further specify the :ref:`Resource<class_Resource>` type that should be handled by the :ref:`ResourceFormatLoader<class_ResourceFormatLoader>`. Anything that inherits from :ref:`Resource<class_Resource>` can be used as a type hint, for example :ref:`Image<class_Image>`.
  65. If ``no_cache`` is ``true``, the resource cache will be bypassed and the resource will be loaded anew. Otherwise, the cached resource will be returned if it exists.
  66. Returns an empty resource if no :ref:`ResourceFormatLoader<class_ResourceFormatLoader>` could handle the file.
  67. GDScript has a simplified :ref:`@GDScript.load<class_@GDScript_method_load>` built-in method which can be used in most situations, leaving the use of ``ResourceLoader`` for more advanced scenarios.
  68. ----
  69. .. _class_ResourceLoader_method_load_interactive:
  70. - :ref:`ResourceInteractiveLoader<class_ResourceInteractiveLoader>` **load_interactive** **(** :ref:`String<class_String>` path, :ref:`String<class_String>` type_hint="" **)**
  71. Starts loading a resource interactively. The returned :ref:`ResourceInteractiveLoader<class_ResourceInteractiveLoader>` object allows to load with high granularity, calling its :ref:`ResourceInteractiveLoader.poll<class_ResourceInteractiveLoader_method_poll>` method successively to load chunks.
  72. An optional ``type_hint`` can be used to further specify the :ref:`Resource<class_Resource>` type that should be handled by the :ref:`ResourceFormatLoader<class_ResourceFormatLoader>`. Anything that inherits from :ref:`Resource<class_Resource>` can be used as a type hint, for example :ref:`Image<class_Image>`.
  73. ----
  74. .. _class_ResourceLoader_method_set_abort_on_missing_resources:
  75. - void **set_abort_on_missing_resources** **(** :ref:`bool<class_bool>` abort **)**
  76. Changes the behavior on missing sub-resources. The default behavior is to abort loading.
  77. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  78. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  79. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`