mirror of
https://github.com/godotengine/godot.git
synced 2025-10-20 00:13:30 +00:00
C#: Create script instance of reloaded scripts even if they're not tools
Scripts that are instantiated at some point will always be recreated if they ever become placeholders to prevent non-tool scripts instantiated manually by users to become placeholders, if they do become placeholders due to errors that prevent instantiation (such as a missing parameterless constructor) these scripts will also be recreated replacing the temporary placeholder. If a script is marked as a tool but becomes a non-tool script in a rebuild, the script will become a placeholder and will no longer be considered applicable to be replaced by an instance since the user explicitly removed the Tool attribute.
This commit is contained in:
parent
33b4153764
commit
a91a3d01f8
3 changed files with 44 additions and 6 deletions
|
@ -90,6 +90,9 @@ class CSharpScript : public Script {
|
|||
|
||||
HashSet<ObjectID> pending_reload_instances;
|
||||
RBMap<ObjectID, StateBackup> pending_reload_state;
|
||||
|
||||
bool was_tool_before_reload = false;
|
||||
HashSet<ObjectID> pending_replace_placeholders;
|
||||
#endif
|
||||
|
||||
String source;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue