void UpdateAssemblySelection()
        {
            if (m_AssemblyNames == null)
            {
                return;
            }

            if (m_AssemblySelection == null)
            {
                m_AssemblySelection = new TreeViewSelection();
            }

            m_AssemblySelection.selection.Clear();
            if (!string.IsNullOrEmpty(m_AssemblySelectionSummary))
            {
                if (m_AssemblySelectionSummary == "All")
                {
                    m_AssemblySelection.SetAll(m_AssemblyNames);
                }
                else if (m_AssemblySelectionSummary != "None")
                {
                    var assemblies = m_AssemblySelectionSummary.Split(new[] { ", " }, StringSplitOptions.None)
                                     .Where(assemblyName => m_AssemblyNames.Contains(assemblyName));
                    if (assemblies.Count() > 0)
                    {
                        foreach (var assembly in assemblies)
                        {
                            m_AssemblySelection.selection.Add(assembly);
                        }
                    }
                }
            }

            if (!m_AssemblySelection.selection.Any())
            {
                // initial selection setup:
                // - assemblies from user scripts or editable packages, or
                // - default assembly, or,
                // - all generated assemblies

                var compiledAssemblies = m_AssemblyNames.Where(a => !AssemblyInfoProvider.IsUnityEngineAssembly(a));
                compiledAssemblies = compiledAssemblies.Where(a =>
                                                              !AssemblyInfoProvider.IsReadOnlyAssembly(a));
                m_AssemblySelection.selection.AddRange(compiledAssemblies);

                if (!m_AssemblySelection.selection.Any())
                {
                    if (m_AssemblyNames.Contains(AssemblyInfo.DefaultAssemblyName))
                    {
                        m_AssemblySelection.Set(AssemblyInfo.DefaultAssemblyName);
                    }
                    else
                    {
                        m_AssemblySelection.SetAll(m_AssemblyNames);
                    }
                }
            }

            // update assembly selection summary
            m_AssemblySelectionSummary = GetSelectedAssembliesSummary();
        }
Esempio n. 2
0
 public void RegistryPackageAssemblyIsReadOnly()
 {
     Assert.IsTrue(AssemblyInfoProvider.IsReadOnlyAssembly("UnityEngine.TestRunner"));
 }