using System.Collections.Generic; namespace Gaia { public class GaiaCompatiblePublisher { public string m_publisherName; public bool m_installedFoldedOut; public bool m_compatibleFoldedOut; private Dictionary m_packages = new Dictionary(); public GaiaCompatiblePackage GetPackage(string packageName) { if (m_packages.TryGetValue(packageName, out var value)) { return value; } return null; } public List GetPackages() { List list = new List(m_packages.Values); list.Sort((GaiaCompatiblePackage a, GaiaCompatiblePackage b) => a.m_packageName.CompareTo(b.m_packageName)); return list; } public int InstalledPackages() { int num = 0; foreach (KeyValuePair package in m_packages) { if (package.Value.m_isInstalled) { num++; } } return num; } public int CompatiblePackages() { int num = 0; foreach (KeyValuePair package in m_packages) { if (package.Value.m_isCompatible) { num++; } } return num; } public void AddPackage(GaiaCompatiblePackage package) { m_packages.Add(package.m_packageName, package); } } }