summaryrefslogtreecommitdiff
path: root/doc/classes/ResourceUID.xml
blob: 7ac5dd58a8ec9046d3f8166747e03a9a65541655 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ResourceUID" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Singleton for managing a cache of resource UIDs within a project.
	</brief_description>
	<description>
		Resources can not only be referenced using their resource paths [code]res://[/code], but alternatively through a unique identifier specified via [code]uid://[/code].
		Using UIDs allows for the engine to keep references between resources intact, even if the files get renamed or moved.
		This singleton is responsible for keeping track of all registered resource UIDs of a project, generating new UIDs and converting between the string and integer representation.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="add_id">
			<return type="void" />
			<param index="0" name="id" type="int" />
			<param index="1" name="path" type="String" />
			<description>
				Adds a new UID value which is mapped to the given resource path.
				Fails with an error if the UID already exists, so be sure to check [method has_id] beforehand, or use [method set_id] instead.
			</description>
		</method>
		<method name="create_id">
			<return type="int" />
			<description>
				Generates a random resource UID which is guaranteed to be unique within the list of currently loaded UIDs.
				In order for this UID to be registered, you must call [method add_id] or [method set_id].
			</description>
		</method>
		<method name="get_id_path" qualifiers="const">
			<return type="String" />
			<param index="0" name="id" type="int" />
			<description>
				Returns the path that the given UID value refers to.
				Fails with an error if the UID does not exist, so be sure to check [method has_id] beforehand.
			</description>
		</method>
		<method name="has_id" qualifiers="const">
			<return type="bool" />
			<param index="0" name="id" type="int" />
			<description>
				Returns whether the given UID value is known to the cache.
			</description>
		</method>
		<method name="id_to_text" qualifiers="const">
			<return type="String" />
			<param index="0" name="id" type="int" />
			<description>
				Converts the given UID to a [code]uid://[/code] string value.
			</description>
		</method>
		<method name="remove_id">
			<return type="void" />
			<param index="0" name="id" type="int" />
			<description>
				Removes a loaded UID value from the cache.
				Fails with an error if the UID does not exist, so be sure to check [method has_id] beforehand.
			</description>
		</method>
		<method name="set_id">
			<return type="void" />
			<param index="0" name="id" type="int" />
			<param index="1" name="path" type="String" />
			<description>
				Updates the resource path of an existing UID.
				Fails with an error if the UID does not exist, so be sure to check [method has_id] beforehand, or use [method add_id] instead.
			</description>
		</method>
		<method name="text_to_id" qualifiers="const">
			<return type="int" />
			<param index="0" name="text_id" type="String" />
			<description>
				Extracts the UID value from the given [code]uid://[/code] string.
			</description>
		</method>
	</methods>
	<constants>
		<constant name="INVALID_ID" value="-1">
			The value to use for an invalid UID, for example if the resource could not be loaded.
			Its text representation is [code]uid://&lt;invalid&gt;[/code].
		</constant>
	</constants>
</class>