Add PropertyListHelper in all simple cases #88306
Merged
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.
Follow-up to #84635
This adds PropertyListHelper in simple cases, i.e. I just tried to add it as is, with minimal modifications to the helper class. Unfortunately I still had to do some minor changes due to property shenanigans in OptionButton and MenuButton.
This adds PropertyListHelper to TileMap, FileDialog, MenuButton, OptionButton, TabBar and AudioStreamRandomizer.
The remaining classes that could use it are Curve/2D/3D, TileSet and some tile editors. Curves have conditional properties and TileSet has multiple property patterns; handling them might require some more changes to the helper class. Tile editors are probably not worth changing.
EDIT:
I had to move initialization of TileMap's helper, because TileMapLayer inside
_bind_methods()
causes problems: https://github.com/godotengine/godot/actions/runs/7894492122/job/21545261074?pr=88306