Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This does three main things
Adds
get_property_list
Also adds
property_get_revert/property_can_revert
(combined into one function).This allows the user to fully dynamically generate the property list as well as set all relevant options for the property list. This also provides a mechanism to group exports in the editor #226, however it's not the most ergonomic way as it requires all grouped properties to be defined in the
get_property_list
method.Adds some convenience functions to
PropertyInfo
This makes it easier to generate property infos corresponding to the usual property types. For instance to generate a
#[var]
declaration you can now just doPropertyInfo::new_var::<Type>("property_name")
rather than needing to specify all the individual properties.I also added documentation to each field of
PropertyInfo
since it's a more public facing type like this.Adds sys-conversions that pass ownership for
PropertyInfo
,GString
, andStringName
Unlike
sys()
, these methods namedinto_owned_(string/property)_sys
andfree_owned_(string/property)_sys
allow us to convert aPropertyInfo
directly into asys::GDExtensionPropertyInfo
while:free_*
function can appropriately free the value later)This is used in
get_property_list
andfree_property_list
to pass a list of property infos to Godot and then later free the values.closes #665