1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00
Commit Graph

183 Commits

Author SHA1 Message Date
xuhuisheng
766b45bdd9 Fix Clear Inheritance error 2025-10-29 21:27:50 +08:00
Thaddeus Crews
fdf32d1b2a Merge pull request #108577 from YYF233333/global_class_list
Simplify `ScriptServer::get_global_class_list`
2025-09-30 11:19:10 -05:00
Thaddeus Crews
685c7e92e5 Merge pull request #100437 from KoBeWi/ruaninstancequestionmark
Add `is_instance()` helper method to Node
2025-09-23 12:08:48 -05:00
Yufeng Ying
a50fc5acd8 Change ClassDB::get_class_list and related stuff. 2025-09-16 15:00:33 +08:00
Mike Precup
1c8e3f9037 Speed up large selections in the editor 2025-08-31 14:25:44 -07:00
Mounir Tohami
aa086fa0d5 Fix Editor crash during first scan in headless import mode. 2025-07-27 04:55:23 +03:00
kobewi
11adf408ab Add is_instance() helper method to Node 2025-07-08 20:42:52 +02:00
A Thousand Ships
f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
kobewi
18df2ae9ca Add class icon cache to EditorNode 2025-05-27 13:59:13 +02:00
PhairZ
1ec1ba6d94 Make script_class_get_icon_path() return any value when r_valid is passed. 2025-04-30 15:42:29 +03:00
Rémi Verschelde
b12258bd22 Merge pull request #99897 from aaronfranke/editor-top-nodes
Clarify API for top selected nodes in EditorSelection and make public
2025-03-28 17:29:51 +01:00
Yyf2333
22b5ec17fb Using iterator pattern instead of List::Element *.
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
Aaron Franke
17db92b8b8 Clarify API for top selected nodes in EditorSelection and make public 2025-03-27 16:09:08 -07:00
kobewi
6f25babd6b Remove empty constructors and destructors from editor/ 2025-03-17 21:20:02 +01:00
Yyf2333
df80265d3a Eliminate interior mutability in get_selected_node_list. 2025-03-14 02:38:02 +08:00
Yufeng Ying
bebe037abf Add ConstIterator to Dictionary. 2025-03-13 01:28:46 +08:00
PhairZ
16b7459cda fix plugin icons not displayed 2025-02-22 04:40:52 +02:00
Agustín Marsero
2ba64a57c5 Fix Global Class names cache not saved with upgrade to 4.4.
Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
2025-02-12 18:33:38 +01:00
kobewi
38d0e82a35 Store _custom_type_script meta as String 2025-02-12 01:22:09 +01:00
Z0rb14n
b32a76299a Fix Script Class Icons Not Checking Parent 2025-02-07 23:22:03 -08:00
Pedro J. Estébanez
a20934c8e4 Optimize enumeration of global classes in create dialog and autocomplete 2025-01-29 09:39:50 +01:00
A Thousand Ships
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying
f241c1fda0 Remove unused header in editor.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:38 +08:00
Aaron Franke
0ab3dc273e Rename internal EditorPlugin icon/name to match exposed methods 2024-12-15 17:31:01 -08:00
bjornmp
06998a3927 Enforce that custom nodes keep their original type
Enforce that custom nodes and resources created via the "Create New Node" dialog, should permanently retain their original type (script). This means:

- Type continuity: It should be impossible for the user to (accidentally) clear the original script of a custom node that was created via the "Create New Node" dialog.

- Extensibility: The user should be able to extend custom types as usual (create a script that inherits the original type and replace the original script of that node with his own). However, if he then clears his extension-script from that node later on, the custom type should revert to its original script instead of becoming a non-scripted type.
2024-10-22 18:18:16 +02:00
kobewi
ecc0ab8061 Add EditorContextMenuPluginManager and refactor menu plugins 2024-09-03 23:59:25 +02:00
Rémi Verschelde
79da448d5f Merge pull request #94582 from citizenll/feat_context_menu_plugin4.x
Add support for custom items to editor right-click context menus
2024-09-03 16:13:47 +02:00
citizenl
6b2348adac Add support for custom items to editor right-click context menus 2024-09-03 20:14:14 +08:00
Hilderin
769424388e Fix crash on reimport scene with animations 2024-08-02 16:50:22 -04:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
Aaron Franke
1bcbbe96c4 Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
风青山
41f6a683b6 Correctly replace scene root when must_reload in EditorData::check_and_update_scene()
We need to update the scene root in multiple singletons to ensure that
certain flags are correct. This is what `EditorNode::set_edited_scene()`
does.

Usually we use `replace_by` to complete the replacement of the scene
root. Call `EditorNode::set_edited_scene()` when the `replacing_by`
signal is emitted to set the new scene root. This is suitable when
using a single node to replace, which may be problematic if the
replacing node is a tree. Because during the call to `replace_by()`,
the new node and its child nodes will enter tree during `parent->
add_child(p_node)`, and later emits the `replacing_by` signal.

When the parent scene has to be reloaded because the child scene
changes and switches to the parent scene, there is no need to use
`replace_by()` since the scene's diffs are already saved.
2024-04-10 09:49:29 +08:00
ajreckof
609559c074 Fix strange visual bug with camera and external change. 2024-04-07 03:49:43 +02:00
ajreckof
ae472865d0 fix node duplication in update after external changes. 2024-04-03 12:19:38 +02:00
ajreckof
69e5e582c8 fix error where update wouldn't reconnect the signal it should have reconnected and led to errors and crash 2024-03-22 01:00:33 +01:00
Muller-Castro
1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
kobewi
808f4e8cb9 Check if history exists before discarding 2024-02-05 17:42:37 +01:00
A Thousand Ships
97b469c46d [Editor] Add EditorPlugin::scene_saved signal
Matches the `EditorNode` one for parity with the exposed
`resource_saved` signal
2024-01-22 17:51:12 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Flavelius
d9e3acece2 Make Copy->paste Params skip resource_path
Resource path should not be attempted to be taken over, as that's not intended for copy-paste and fails anyway, but this results in the whole paste operation failing as well
2023-11-25 22:35:51 +01:00
A Thousand Ships
75ee58fd04 [Editor] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-15 20:15:39 +02:00
Rémi Verschelde
91c5273ec5 Merge pull request #75656 from YuriSizov/core-iconic-builtins
Add a script method to get its class icon
2023-08-29 12:41:03 +02:00
Yuri Sizov
2c77f07aaa Add a script method to get its class icon
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2023-08-24 13:05:41 +02:00
Yuri Sizov
2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
kobewi
51f92d1100 Don't grab theme icons for scripts 2023-07-21 02:13:07 +02:00
kobewi
9379177286 Fix node selection not handled correctly at launch 2023-07-03 14:43:15 +02:00
kobewi
0458ac4b81 Improve script icon cache 2023-06-26 14:03:21 +02:00
kobewi
366c9678ca Fix some invalid plugin edit calls 2023-06-11 22:15:54 +02:00
David Snopek
3007163210 Allow GDExtensions to add editor plugins 2023-05-25 09:14:29 -05:00