private void RebuildSolution() { if (!File.Exists(GodotSharpDirs.ProjectSlnPath)) { return; // No solution to build } try { // Make sure our packages are added to the fallback folder NuGetUtils.AddBundledPackagesToFallbackFolder(NuGetUtils.GodotFallbackFolderPath); } catch (Exception e) { GD.PushError("Failed to setup Godot NuGet Offline Packages: " + e.Message); } if (!BuildManager.BuildProjectBlocking("Debug", targets: new[] { "Rebuild" })) { return; // Build failed } // Notify running game for hot-reload Internal.EditorDebuggerNodeReloadScripts(); // Hot-reload in the editor GodotSharpEditor.Instance.GetNode <HotReloadAssemblyWatcher>("HotReloadAssemblyWatcher").RestartTimer(); if (Internal.IsAssembliesReloadingNeeded()) { Internal.ReloadAssemblies(softReload: false); } }
public static bool EditorBuildCallback() { if (!File.Exists(GodotSharpDirs.ProjectSlnPath)) { return(true); // No solution to build } try { // Make sure our packages are added to the fallback folder NuGetUtils.AddBundledPackagesToFallbackFolder(NuGetUtils.GodotFallbackFolderPath); } catch (Exception e) { GD.PushError("Failed to setup Godot NuGet Offline Packages: " + e.Message); } if (GodotSharpEditor.Instance.SkipBuildBeforePlaying) { return(true); // Requested play from an external editor/IDE which already built the project } return(BuildProjectBlocking("Debug")); }