public static SettingLimits GetWeaponSettingLimits(WeaponTypes weaponType, WeaponSettings weaponSetting) { if (weaponType == WeaponTypes.Default) { return(new SettingLimits(0, 255)); } else { Debug.Assert(weaponType < WeaponTypes.Count); if (weaponType < WeaponTypes.Count) { WeaponLimits weaponLimits = _weaponLimits[(int)weaponType]; switch (weaponSetting) { case WeaponSettings.Ammo: return(weaponLimits.Ammo); case WeaponSettings.Power: return(weaponLimits.Power); case WeaponSettings.Delay: return(weaponLimits.Delay); case WeaponSettings.Crate: return(weaponLimits.Crate); } } } return(null); }
static SchemeLimits() { for (int i = 0; i < (int)SettingTypes.Count; ++i) { _settingLimits[i] = InitialiseSettingLimit((SettingTypes)i); } for (int i = 0; i < (int)WeaponTypes.Count; ++i) { _weaponLimits[i] = new WeaponLimits { Ammo = InitialiseWeaponAmmoLimit((WeaponTypes)i), Power = InitialiseWeaponPowerLimit((WeaponTypes)i), Delay = InitialiseWeaponDelayLimit((WeaponTypes)i), Crate = InitialiseWeaponCrateLimit((WeaponTypes)i) }; } for (int i = 0; i < (int)ExtendedOptionTypes.Count; ++i) { _extendedOptionLimits[i] = InitialiseExtendedOptionLimit((ExtendedOptionTypes)i); } }