mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
74 lines
5.3 KiB
ReStructuredText
74 lines
5.3 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
|
|
.. DO NOT EDIT THIS FILE, but the Reference.xml source instead.
|
|
.. The source is found in doc/classes or modules/<name>/doc_classes.
|
|
|
|
.. _class_Reference:
|
|
|
|
Reference
|
|
=========
|
|
|
|
**Inherits:** :ref:`Object<class_Object>`
|
|
|
|
**Inherited By:** :ref:`ARVRInterface<class_ARVRInterface>`, :ref:`AStar<class_AStar>`, :ref:`AnimationTrackEditPlugin<class_AnimationTrackEditPlugin>`, :ref:`AudioEffectInstance<class_AudioEffectInstance>`, :ref:`AudioStreamPlayback<class_AudioStreamPlayback>`, :ref:`ConfigFile<class_ConfigFile>`, :ref:`Directory<class_Directory>`, :ref:`EditorExportPlugin<class_EditorExportPlugin>`, :ref:`EditorImportPlugin<class_EditorImportPlugin>`, :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`, :ref:`EditorResourceConversionPlugin<class_EditorResourceConversionPlugin>`, :ref:`EditorResourcePreviewGenerator<class_EditorResourcePreviewGenerator>`, :ref:`EditorSceneImporter<class_EditorSceneImporter>`, :ref:`EditorScenePostImport<class_EditorScenePostImport>`, :ref:`EditorScript<class_EditorScript>`, :ref:`EncodedObjectAsID<class_EncodedObjectAsID>`, :ref:`Expression<class_Expression>`, :ref:`File<class_File>`, :ref:`FuncRef<class_FuncRef>`, :ref:`GDNative<class_GDNative>`, :ref:`GDScriptFunctionState<class_GDScriptFunctionState>`, :ref:`GDScriptNativeClass<class_GDScriptNativeClass>`, :ref:`HTTPClient<class_HTTPClient>`, :ref:`JSONParseResult<class_JSONParseResult>`, :ref:`KinematicCollision<class_KinematicCollision>`, :ref:`KinematicCollision2D<class_KinematicCollision2D>`, :ref:`Marshalls<class_Marshalls>`, :ref:`MeshDataTool<class_MeshDataTool>`, :ref:`MultiplayerAPI<class_MultiplayerAPI>`, :ref:`Mutex<class_Mutex>`, :ref:`PCKPacker<class_PCKPacker>`, :ref:`PackedDataContainerRef<class_PackedDataContainerRef>`, :ref:`PacketPeer<class_PacketPeer>`, :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>`, :ref:`Physics2DShapeQueryResult<class_Physics2DShapeQueryResult>`, :ref:`Physics2DTestMotionResult<class_Physics2DTestMotionResult>`, :ref:`PhysicsShapeQueryParameters<class_PhysicsShapeQueryParameters>`, :ref:`PhysicsShapeQueryResult<class_PhysicsShapeQueryResult>`, :ref:`RandomNumberGenerator<class_RandomNumberGenerator>`, :ref:`RegEx<class_RegEx>`, :ref:`RegExMatch<class_RegExMatch>`, :ref:`Resource<class_Resource>`, :ref:`ResourceFormatLoader<class_ResourceFormatLoader>`, :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`, :ref:`ResourceImporter<class_ResourceImporter>`, :ref:`ResourceInteractiveLoader<class_ResourceInteractiveLoader>`, :ref:`SceneState<class_SceneState>`, :ref:`SceneTreeTimer<class_SceneTreeTimer>`, :ref:`Semaphore<class_Semaphore>`, :ref:`SpatialGizmo<class_SpatialGizmo>`, :ref:`SpatialVelocityTracker<class_SpatialVelocityTracker>`, :ref:`StreamPeer<class_StreamPeer>`, :ref:`SurfaceTool<class_SurfaceTool>`, :ref:`TCP_Server<class_TCP_Server>`, :ref:`Thread<class_Thread>`, :ref:`TriangleMesh<class_TriangleMesh>`, :ref:`UPNP<class_UPNP>`, :ref:`UPNPDevice<class_UPNPDevice>`, :ref:`VisualScriptFunctionState<class_VisualScriptFunctionState>`, :ref:`WeakRef<class_WeakRef>`, :ref:`XMLParser<class_XMLParser>`
|
|
|
|
**Category:** Core
|
|
|
|
Brief Description
|
|
-----------------
|
|
|
|
Base class for reference-counted objects.
|
|
|
|
Methods
|
|
-------
|
|
|
|
+-------------------------+--------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`init_ref<class_Reference_method_init_ref>` **(** **)** |
|
|
+-------------------------+--------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`reference<class_Reference_method_reference>` **(** **)** |
|
|
+-------------------------+--------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`unreference<class_Reference_method_unreference>` **(** **)** |
|
|
+-------------------------+--------------------------------------------------------------------+
|
|
|
|
Description
|
|
-----------
|
|
|
|
Base class for any object that keeps a reference count. :ref:`Resource<class_Resource>` and many other helper objects inherit this class.
|
|
|
|
References keep an internal reference counter so that they are automatically released when no longer in use, and only then. References therefore do not need to be freed manually with :ref:`Object.free<class_Object_method_free>`.
|
|
|
|
In the vast majority of use cases, instantiating and using :ref:`Reference<class_Reference>`-derived types is all you need to do. The methods provided in this class are only for advanced users, and can cause issues if misused.
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_Reference_method_init_ref:
|
|
|
|
- :ref:`bool<class_bool>` **init_ref** **(** **)**
|
|
|
|
Initializes the internal reference counter. Use this only if you really know what you are doing.
|
|
|
|
Returns whether the initialization was successful.
|
|
|
|
----
|
|
|
|
.. _class_Reference_method_reference:
|
|
|
|
- :ref:`bool<class_bool>` **reference** **(** **)**
|
|
|
|
Increments the internal reference counter. Use this only if you really know what you are doing.
|
|
|
|
Returns whether the increment was successful.
|
|
|
|
----
|
|
|
|
.. _class_Reference_method_unreference:
|
|
|
|
- :ref:`bool<class_bool>` **unreference** **(** **)**
|
|
|
|
Decrements the internal reference counter. Use this only if you really know what you are doing.
|
|
|
|
Returns whether the decrement was successful.
|
|
|