public void LoadValue(string value) { WeaponCategory = WeaponCategoryEnumeration.GetWeaponCategoryByName(value); if (WeaponCategory == null) { WeaponCategory = WeaponCategoryEnumeration.GetNotSetValue(); } if (!WeaponCategory.Is_NotSet) { HPinfo = HardpointController.Instance[WeaponCategory]; } }
public void OnLoaded(Dictionary <string, object> values) { AddWeaponCategory = WeaponCategoryEnumeration.GetWeaponCategoryByName(AddHardpoint); if (AddWeaponCategory == null) { AddWeaponCategory = WeaponCategoryEnumeration.GetNotSetValue(); } UseWeaponCategory = WeaponCategoryEnumeration.GetWeaponCategoryByName(UseHardpoint); if (UseWeaponCategory == null) { UseWeaponCategory = WeaponCategoryEnumeration.GetNotSetValue(); } }
public void LoadValue(string value) { Control.LogDebug(DType.Hardpoints, $"UseHardpoint LoadValue for {Def.Description.Id}: {value}"); var cat = WeaponCategoryEnumeration.GetWeaponCategoryByName(value); WeaponCategory = cat ?? WeaponCategoryEnumeration.GetNotSetValue(); hpInfo = WeaponCategory.Is_NotSet ? null : HardpointController.Instance[WeaponCategory]; if (hpInfo != null && !hpInfo.AllowOnWeapon) { Control.LogError($"{Def.Description.Id} use {value} weapon category that cannot be used on weapons"); hpInfo = null; WeaponCategory = WeaponCategoryEnumeration.GetNotSetValue(); } Control.LogDebug(DType.Hardpoints, $"- {cat.WeaponCategoryID}:{cat.Name}/{cat.FriendlyName}"); }
public bool Complete() { if (ID == null) { Control.LogError($"Empty WeaponCategory"); return(false); } WeaponCategory = WeaponCategoryEnumeration.GetWeaponCategoryByName(ID); if (WeaponCategory == null || WeaponCategory.Is_NotSet) { Control.LogError($"Unknown WeaponCategory {ID}"); return(false); } if (Compatible == null || Compatible.Length == 0) { Compatible = new[] { ID }; } else { if (!Compatible.Contains(ID)) { Compatible.Add(ID); } } CompatibleID = Compatible .Distinct() .Select(i => WeaponCategoryEnumeration.GetWeaponCategoryByName(i)) .Where(i => i != null) .Select(i => i.ID) .ToHashSet(); return(true); }