Skip to content

Commit

Permalink
fix(weaver): fix #796, reload assemblies after initial import (#1106)
Browse files Browse the repository at this point in the history
* fix: fix #796, reload assemblies after initial import

* Do not weave assemblies that aren't compiled yet

* Update CompilationFinishedHook.cs

* Update CompilationFinishedHook.cs

* Use SessionState instead of env variable
  • Loading branch information
paulpach authored and vis2k committed Sep 24, 2019
1 parent 747fba0 commit d91b387
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions Assets/Mirror/Editor/Weaver/CompilationFinishedHook.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,27 @@ static void HandleError(string msg)
static void OnInitializeOnLoad()
{
CompilationPipeline.assemblyCompilationFinished += OnCompilationFinished;

// We only need to run this once per session
// after that, all assemblies will be weaved by the event
if (!SessionState.GetBool("MIRROR_WEAVED", false) )
{
SessionState.SetBool("MIRROR_WEAVED", true);
WeaveExisingAssemblies();
}
}

static void WeaveExisingAssemblies()
{
foreach (UnityAssembly assembly in CompilationPipeline.GetAssemblies())
{
if (File.Exists(assembly.outputPath))
{
OnCompilationFinished(assembly.outputPath, new CompilerMessage[0]);
}
}

UnityEditorInternal.InternalEditorUtility.RequestScriptReload();
}

static string FindMirrorRuntime()
Expand Down

0 comments on commit d91b387

Please sign in to comment.