class_resource.rst 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the Resource.xml source instead.
  3. .. The source is found in doc/classes or modules/<name>/doc_classes.
  4. .. _class_Resource:
  5. Resource
  6. ========
  7. **Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  8. **Inherited By:** :ref:`Animation<class_Animation>`, :ref:`AnimationNode<class_AnimationNode>`, :ref:`AnimationNodeStateMachinePlayback<class_AnimationNodeStateMachinePlayback>`, :ref:`AnimationNodeStateMachineTransition<class_AnimationNodeStateMachineTransition>`, :ref:`AudioBusLayout<class_AudioBusLayout>`, :ref:`AudioEffect<class_AudioEffect>`, :ref:`AudioStream<class_AudioStream>`, :ref:`BakedLightmapData<class_BakedLightmapData>`, :ref:`BitMap<class_BitMap>`, :ref:`ButtonGroup<class_ButtonGroup>`, :ref:`CubeMap<class_CubeMap>`, :ref:`Curve<class_Curve>`, :ref:`Curve2D<class_Curve2D>`, :ref:`Curve3D<class_Curve3D>`, :ref:`DynamicFontData<class_DynamicFontData>`, :ref:`EditorSettings<class_EditorSettings>`, :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>`, :ref:`Environment<class_Environment>`, :ref:`Font<class_Font>`, :ref:`GDNativeLibrary<class_GDNativeLibrary>`, :ref:`GIProbeData<class_GIProbeData>`, :ref:`Gradient<class_Gradient>`, :ref:`Image<class_Image>`, :ref:`InputEvent<class_InputEvent>`, :ref:`Material<class_Material>`, :ref:`Mesh<class_Mesh>`, :ref:`MeshLibrary<class_MeshLibrary>`, :ref:`MultiMesh<class_MultiMesh>`, :ref:`NavigationMesh<class_NavigationMesh>`, :ref:`NavigationPolygon<class_NavigationPolygon>`, :ref:`OccluderPolygon2D<class_OccluderPolygon2D>`, :ref:`OpenSimplexNoise<class_OpenSimplexNoise>`, :ref:`PackedDataContainer<class_PackedDataContainer>`, :ref:`PackedScene<class_PackedScene>`, :ref:`PhysicsMaterial<class_PhysicsMaterial>`, :ref:`PolygonPathFinder<class_PolygonPathFinder>`, :ref:`Script<class_Script>`, :ref:`Shader<class_Shader>`, :ref:`Shape<class_Shape>`, :ref:`Shape2D<class_Shape2D>`, :ref:`ShortCut<class_ShortCut>`, :ref:`Sky<class_Sky>`, :ref:`SpriteFrames<class_SpriteFrames>`, :ref:`StyleBox<class_StyleBox>`, :ref:`TextFile<class_TextFile>`, :ref:`Texture<class_Texture>`, :ref:`TextureLayered<class_TextureLayered>`, :ref:`Theme<class_Theme>`, :ref:`TileSet<class_TileSet>`, :ref:`Translation<class_Translation>`, :ref:`VideoStream<class_VideoStream>`, :ref:`VisualScriptNode<class_VisualScriptNode>`, :ref:`VisualShaderNode<class_VisualShaderNode>`, :ref:`World<class_World>`, :ref:`World2D<class_World2D>`
  9. **Category:** Core
  10. Brief Description
  11. -----------------
  12. Base class for all resources.
  13. Properties
  14. ----------
  15. +-----------------------------+---------------------------------------------------------------------------------+
  16. | :ref:`bool<class_bool>` | :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` |
  17. +-----------------------------+---------------------------------------------------------------------------------+
  18. | :ref:`String<class_String>` | :ref:`resource_name<class_Resource_property_resource_name>` |
  19. +-----------------------------+---------------------------------------------------------------------------------+
  20. | :ref:`String<class_String>` | :ref:`resource_path<class_Resource_property_resource_path>` |
  21. +-----------------------------+---------------------------------------------------------------------------------+
  22. Methods
  23. -------
  24. +---------------------------------+----------------------------------------------------------------------------------------------------------------+
  25. | void | :ref:`_setup_local_to_scene<class_Resource_method__setup_local_to_scene>` **(** **)** virtual |
  26. +---------------------------------+----------------------------------------------------------------------------------------------------------------+
  27. | :ref:`Resource<class_Resource>` | :ref:`duplicate<class_Resource_method_duplicate>` **(** :ref:`bool<class_bool>` subresources=false **)** const |
  28. +---------------------------------+----------------------------------------------------------------------------------------------------------------+
  29. | :ref:`Node<class_Node>` | :ref:`get_local_scene<class_Resource_method_get_local_scene>` **(** **)** const |
  30. +---------------------------------+----------------------------------------------------------------------------------------------------------------+
  31. | :ref:`RID<class_RID>` | :ref:`get_rid<class_Resource_method_get_rid>` **(** **)** const |
  32. +---------------------------------+----------------------------------------------------------------------------------------------------------------+
  33. | void | :ref:`setup_local_to_scene<class_Resource_method_setup_local_to_scene>` **(** **)** |
  34. +---------------------------------+----------------------------------------------------------------------------------------------------------------+
  35. | void | :ref:`take_over_path<class_Resource_method_take_over_path>` **(** :ref:`String<class_String>` path **)** |
  36. +---------------------------------+----------------------------------------------------------------------------------------------------------------+
  37. Signals
  38. -------
  39. .. _class_Resource_signal_changed:
  40. - **changed** **(** **)**
  41. Description
  42. -----------
  43. Resource is the base class for all resource types, serving primarily as data containers. They are reference counted and freed when no longer in use. They are also loaded only once from disk, and further attempts to load the resource will return the same reference (all this in contrast to a :ref:`Node<class_Node>`, which is not reference counted and can be instanced from disk as many times as desired). Resources can be saved externally on disk or bundled into another object, such as a :ref:`Node<class_Node>` or another resource.
  44. Tutorials
  45. ---------
  46. - :doc:`../getting_started/step_by_step/resources`
  47. Property Descriptions
  48. ---------------------
  49. .. _class_Resource_property_resource_local_to_scene:
  50. - :ref:`bool<class_bool>` **resource_local_to_scene**
  51. +----------+---------------------------+
  52. | *Setter* | set_local_to_scene(value) |
  53. +----------+---------------------------+
  54. | *Getter* | is_local_to_scene() |
  55. +----------+---------------------------+
  56. .. _class_Resource_property_resource_name:
  57. - :ref:`String<class_String>` **resource_name**
  58. +----------+-----------------+
  59. | *Setter* | set_name(value) |
  60. +----------+-----------------+
  61. | *Getter* | get_name() |
  62. +----------+-----------------+
  63. The name of the resource. This is an optional identifier.
  64. .. _class_Resource_property_resource_path:
  65. - :ref:`String<class_String>` **resource_path**
  66. +----------+-----------------+
  67. | *Setter* | set_path(value) |
  68. +----------+-----------------+
  69. | *Getter* | get_path() |
  70. +----------+-----------------+
  71. The path to the resource. In case it has its own file, it will return its filepath. If it's tied to the scene, it will return the scene's path, followed by the resource's index.
  72. Method Descriptions
  73. -------------------
  74. .. _class_Resource_method__setup_local_to_scene:
  75. - void **_setup_local_to_scene** **(** **)** virtual
  76. .. _class_Resource_method_duplicate:
  77. - :ref:`Resource<class_Resource>` **duplicate** **(** :ref:`bool<class_bool>` subresources=false **)** const
  78. Duplicates the resource, returning a new resource. By default, sub-resources are shared between resource copies for efficiency, this can be changed by passing ``true`` to the ``subresources`` argument.
  79. .. _class_Resource_method_get_local_scene:
  80. - :ref:`Node<class_Node>` **get_local_scene** **(** **)** const
  81. .. _class_Resource_method_get_rid:
  82. - :ref:`RID<class_RID>` **get_rid** **(** **)** const
  83. Returns the RID of the resource (or an empty RID). Many resources (such as :ref:`Texture<class_Texture>`, :ref:`Mesh<class_Mesh>`, etc) are high level abstractions of resources stored in a server, so this function will return the original RID.
  84. .. _class_Resource_method_setup_local_to_scene:
  85. - void **setup_local_to_scene** **(** **)**
  86. .. _class_Resource_method_take_over_path:
  87. - void **take_over_path** **(** :ref:`String<class_String>` path **)**
  88. Sets the path of the resource. Differs from ``set_path()``, if another ``Resource`` exists with "path" it over-takes it, instead of failing.