diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-06-26 10:50:45 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2019-06-26 10:50:45 +0200 |
commit | a9cff880d6ace9a18859822e535c79041a070a49 (patch) | |
tree | dcd786899cb032f5074560e619c233fd32c53fa2 | |
parent | eeee1dc73e6344a5541ee323b6ae61744b3348b6 (diff) |
doc: Document EncodedObjectAsID, expose its property
-rw-r--r-- | core/io/marshalls.cpp | 10 | ||||
-rw-r--r-- | doc/classes/EncodedObjectAsID.xml | 22 | ||||
-rw-r--r-- | doc/classes/Object.xml | 1 |
3 files changed, 15 insertions, 18 deletions
diff --git a/core/io/marshalls.cpp b/core/io/marshalls.cpp index 7494603462..3c9c5bc2bb 100644 --- a/core/io/marshalls.cpp +++ b/core/io/marshalls.cpp @@ -37,13 +37,11 @@ #include <limits.h> #include <stdio.h> -#define _S(a) ((int32_t)a) -#define ERR_FAIL_ADD_OF(a, b, err) ERR_FAIL_COND_V(_S(b) < 0 || _S(a) < 0 || _S(a) > INT_MAX - _S(b), err) -#define ERR_FAIL_MUL_OF(a, b, err) ERR_FAIL_COND_V(_S(a) < 0 || _S(b) <= 0 || _S(a) > INT_MAX / _S(b), err) - void EncodedObjectAsID::_bind_methods() { ClassDB::bind_method(D_METHOD("set_object_id", "id"), &EncodedObjectAsID::set_object_id); ClassDB::bind_method(D_METHOD("get_object_id"), &EncodedObjectAsID::get_object_id); + + ADD_PROPERTY(PropertyInfo(Variant::INT, "object_id"), "set_object_id", "get_object_id"); } void EncodedObjectAsID::set_object_id(ObjectID p_id) { @@ -59,6 +57,10 @@ EncodedObjectAsID::EncodedObjectAsID() : id(0) { } +#define _S(a) ((int32_t)a) +#define ERR_FAIL_ADD_OF(a, b, err) ERR_FAIL_COND_V(_S(b) < 0 || _S(a) < 0 || _S(a) > INT_MAX - _S(b), err) +#define ERR_FAIL_MUL_OF(a, b, err) ERR_FAIL_COND_V(_S(a) < 0 || _S(b) <= 0 || _S(a) > INT_MAX / _S(b), err) + #define ENCODE_MASK 0xFF #define ENCODE_FLAG_64 1 << 16 #define ENCODE_FLAG_OBJECT_AS_ID 1 << 16 diff --git a/doc/classes/EncodedObjectAsID.xml b/doc/classes/EncodedObjectAsID.xml index 1822f6c199..6efdda48ef 100644 --- a/doc/classes/EncodedObjectAsID.xml +++ b/doc/classes/EncodedObjectAsID.xml @@ -1,27 +1,21 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EncodedObjectAsID" inherits="Reference" category="Core" version="3.2"> <brief_description> + Holds a reference to an [Object]'s instance ID. </brief_description> <description> + Utility class which holds a reference to the internal identifier of an [Object] instance, as given by [method Object.get_instance_id]. This ID can then be used to retrieve the object instance with [method @GDScript.instance_from_id]. + This class is used internally by the editor inspector and script debugger, but can also be used in plugins to pass and display objects as their IDs. </description> <tutorials> </tutorials> <methods> - <method name="get_object_id" qualifiers="const"> - <return type="int"> - </return> - <description> - </description> - </method> - <method name="set_object_id"> - <return type="void"> - </return> - <argument index="0" name="id" type="int"> - </argument> - <description> - </description> - </method> </methods> + <members> + <member name="object_id" type="int" setter="set_object_id" getter="get_object_id"> + The [Object] identifier stored in this [EncodedObjectAsID] instance. The object instance can be retrieved with [method @GDScript.instance_from_id]. + </member> + </members> <constants> </constants> </class> diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index 548a0c18bb..a1fba1ac8d 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -203,6 +203,7 @@ </return> <description> Returns the object's unique instance ID. + This ID can be saved in [EncodedObjectAsID], and can be used to retrieve the object instance with [method @GDScript.instance_from_id]. </description> </method> <method name="get_meta" qualifiers="const"> |