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}");
        }
Exemplo n.º 4
0
        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);
        }