Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global groups implementation #60963

Closed
wants to merge 46 commits into from

Conversation

DarkMessiah
Copy link
Contributor

This commit based on #24262.
Fix godotengine/godot-proposals#3789 and maybe godotengine/godot-proposals#3351 :)

  • Global Groups - stored in the godot.project and visible to all nodes.
  • Local Groups - these are just a list of groups derived from nodes in the current scene, excluding global groups.

Global groups editor in Project Settings.

Editor

image

Remove global group dialog

image

Reworked Groups Editor.

  • Removed Manage Groups button + dialog
  • Added filter for groups
  • Added create button
  • Reworked tree. Added categories for Local and Global groups.
Groups Editor

image

Ability to create Global and Local groups.

image

Ability to Covert Global to Local and Local to Global. Rename. Delete.

image

image

image

image

P.S. I have one problem. I store local groups cache inside Map<Node *, Set<StringName>>. When I opened scene, I'm storing all local groups into this Set where key is a edited_scene_root_node. I want to know the moment, when scene is closing and I can release a data from the Map.
I use Map<Node *, Set<StringName>> , because when you adding local group and unckeck it from all nodes, you can lose it when you are switching tabs.

touilleMan and others added 30 commits May 12, 2022 15:22
…to append the base directory on top of that. While this is a uncommon if not unused case for a release version it is helpful for development builds.

Fix formatting
* count()
* find()
* rfind()
This results in less surprising behavior out of the box.

Internal usages were modified to keep the existing behavior
identical there.
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
That's the version that we'll (tentatively) use for future 3.x and 4.0
builds.
This has several benefits:

- Baking is now significantly faster out of the box (often twice as fast).
- Lightmap texture file sizes are often divided by 2 or 3.
- Baking requires less memory and is less likely to crash on large scenes.

Visual quality may be degraded, but it's usually not very noticeable
in the default configuration where only indirect lighting is baked.
Add __has_include check for AVFAudio include.
Add some explicit casts to avoid conflicts.
Change all `include`s to `import`s for consistency.
@DarkMessiah DarkMessiah requested a review from a team as a code owner May 12, 2022 09:06
@Mickeon
Copy link
Contributor

Mickeon commented May 12, 2022

This is really sweet, but what happened? There seem to be a lot of unrelated files changed in this PR, too.

@Calinou
Copy link
Member

Calinou commented May 12, 2022

Superseded by #60965.

@aaronfranke aaronfranke removed request for a team May 12, 2022 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow to manage node groups from the project settings