Пример #1
0
        public async Task HotloadInternalAsync(ScriptModule module)
        {
            if (module.LoadState != ScriptModuleLoadState.Loading)
            {
                return;
            }

            // Hotload all of our dependencies
            foreach (var dependency in _modules.GetDependencies(module))
            {
                await HotloadInternalAsync(dependency);
            }

            await _hotloader.HotloadAsync(module, module.IL);

            // Hotload all of our dependents
            foreach (var dependent in _modules.GetDependents(module))
            {
                await HotloadInternalAsync(dependent);
            }

            module.LoadState = ScriptModuleLoadState.None;
        }
Пример #2
0
 /// <summary>
 /// Forces a reload of a single module asynchronously.
 /// </summary>
 public async Task ReloadAsync(ScriptModule module)
 {
     MarkModuleDirty(module);
     await CompileInternalAsync(module);
     await HotloadInternalAsync(module);
 }