Merge pull request #87838 from paulloz/dotnet/fix-duplicate-key-on-reload
C#: Fix duplicate key issue on reload
This commit is contained in:
commit
d0f8b76ffd
2 changed files with 12 additions and 7 deletions
|
@ -310,13 +310,6 @@ namespace Godot.Bridge
|
|||
|
||||
_pathTypeBiMap.Add(scriptPathAttr.Path, type);
|
||||
|
||||
// This method may be called before initialization.
|
||||
if (NativeFuncs.godotsharp_dotnet_module_is_initialized().ToBool() && Engine.IsEditorHint())
|
||||
{
|
||||
using godot_string scriptPath = Marshaling.ConvertStringToNative(scriptPathAttr.Path);
|
||||
NativeFuncs.godotsharp_internal_editor_file_system_update_file(scriptPath);
|
||||
}
|
||||
|
||||
if (AlcReloadCfg.IsAlcReloadingEnabled)
|
||||
{
|
||||
AddTypeForAlcReloading(type);
|
||||
|
@ -366,6 +359,16 @@ namespace Godot.Bridge
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This method may be called before initialization.
|
||||
if (NativeFuncs.godotsharp_dotnet_module_is_initialized().ToBool() && Engine.IsEditorHint())
|
||||
{
|
||||
foreach (var scriptPath in _pathTypeBiMap.Paths)
|
||||
{
|
||||
using godot_string nativeScriptPath = Marshaling.ConvertStringToNative(scriptPath);
|
||||
NativeFuncs.godotsharp_internal_editor_file_system_update_file(nativeScriptPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[UnmanagedCallersOnly]
|
||||
|
|
|
@ -61,6 +61,8 @@ public static partial class ScriptManagerBridge
|
|||
private System.Collections.Generic.Dictionary<string, Type> _pathTypeMap = new();
|
||||
private System.Collections.Generic.Dictionary<Type, string> _typePathMap = new();
|
||||
|
||||
public System.Collections.Generic.IEnumerable<string> Paths => _pathTypeMap.Keys;
|
||||
|
||||
public void Add(string scriptPath, Type scriptType)
|
||||
{
|
||||
_pathTypeMap.Add(scriptPath, scriptType);
|
||||
|
|
Loading…
Reference in a new issue