Exemple #1
0
        public void SetOrder(IMod mod, int?order)
        {
            var name = mod.GetSerializationString().ToLower();

            lock (Orders) {
                if (order == null)
                {
                    if (Orders.ContainsKey(name))
                    {
                        Orders.Remove(name);
                    }
                }
                else
                {
                    Orders[name] = order.GetValueOrDefault();
                }
            }
        }
Exemple #2
0
        protected virtual bool RemoveMod(IMod mod)
        {
            var key = mod.GetSerializationString();

            lock (Items) {
                lock (AdditionalMods) {
                    if (!AdditionalMods.Contains(key, StringComparer.InvariantCultureIgnoreCase))
                    {
                        return(false);
                    }
                    AdditionalMods.Remove(key);
                }
                if (Mods.Contains(key, StringComparer.InvariantCultureIgnoreCase))
                {
                    return(false);
                }
                Items.RemoveAll(Items.Where(x => x.ComparePK(mod)).ToArray());
                DisabledItems.RemoveAllLocked(x => x.Equals(mod.Name, StringComparison.InvariantCultureIgnoreCase));
                UpdateState();
                return(true);
            }
        }