/// <summary> /// 构造插件对象。 /// </summary> public AddonManager() { m_ConfigFile = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "addon.xml"); Addons = new List <Addon>(); m_Config = new GeoStar.Utility.Config(m_ConfigFile); /// 循环载入所有的插件。 foreach (var item in m_Config) { Addon add = item.ObjectValueConfig <Addon>(); if (add == null) { continue; } Addons.Add(add); } }
void Apply() { bool bChanged = false; if (!m_bRemoveFlag) { foreach (Addon item in listBoxAddon.Items) { if (item is TempAddon) { bChanged = true; } } if (!bChanged) { return; } } FormMain.m_AddonManager.Addons.Clear(); foreach (Addon item in listBoxAddon.Items) { if (item is TempAddon) { Addon add = new Addon(item.Name); add.Path = item.Path; add.StorageType = item.StorageType; add.Type = item.Type; add.Function = item.Function; add.Description = item.Description; FormMain.m_AddonManager.Addons.Add(add); } else { FormMain.m_AddonManager.Addons.Add(item); } } FormMain.m_AddonManager.SaveConfig(); }