public UnityRiderAlternateProjectOutputProvider(Lifetime lifetime, UnityEditorProtocol editorProtocol, IShellLocks shellLocks) : base(lifetime) { myShellLocks = shellLocks; myProjectNameToOutputFilePathMap = new ConcurrentDictionary <string, FileSystemPath>(); editorProtocol.UnityModel.ViewNotNull(lifetime, (modelLifetime, model) => { model.CompiledAssemblies.AdviseNotNull(modelLifetime, compiledAssemblies => { myProjectNameToOutputFilePathMap = compiledAssemblies.ToDictionary(a => a.Name, a => FileSystemPath.TryParse(a.OutputPath)); PathsChanged.Fire(); }); }); }
protected virtual void OnPathsChanged(IList <PathChangeEntry> changes) { PathsChanged?.Invoke(changes); }