コード例 #1
0
 ModFamily GetFamily(string name)
 {
     if (!_families.TryGetValue(name, out var result))
     {
         result = new ModFamily(name);
         _families.Add(name, result);
         result.ModsEnabledChanged += OnFamilyModsEnabledChanged;
     }
     return(result);
 }
コード例 #2
0
        /// <summary>
        /// Creates state information for a mod family.
        /// </summary>
        public static ModFamilyStateInfo FromFamily(ModFamily family)
        {
            var             name    = family.FamilyName;
            bool            enabled = false;
            AccurateVersion version = default;

            var enabledMod = family.EnabledMod;

            if (enabledMod != null)
            {
                enabled = true;
                var defaultMod = family.GetDefaultMod();
                if (enabledMod != defaultMod)
                {
                    version = enabledMod.Version;                           // Only store version if enabled mod is not default
                }
            }

            return(new ModFamilyStateInfo(name, enabled, version));
        }
コード例 #3
0
 public ModFamilyEnabledChangedEventArgs(ModFamily family)
 {
     Family = family;
 }
コード例 #4
0
 bool TryGetFamily(string name, out ModFamily result) => _families.TryGetValue(name, out result);
コード例 #5
0
 /// <summary>
 /// Checks if a family with the specified name is managed by this manager
 /// </summary>
 public bool Contains(string name, out ModFamily family)
 => TryGetFamily(name, out family);