protected MissileWeaponTypes GetSingleMissileType(MissileWeaponTypes types) { if (types.HasFlag(MissileWeaponTypes.Homing)) { return(MissileWeaponTypes.Homing); } if (types.HasFlag(MissileWeaponTypes.Nuke)) { return(MissileWeaponTypes.Nuke); } if (types.HasFlag(MissileWeaponTypes.Mine)) { return(MissileWeaponTypes.Mine); } if (types.HasFlag(MissileWeaponTypes.EMP)) { return(MissileWeaponTypes.EMP); } if (types.HasFlag(MissileWeaponTypes.HVLI)) { return(MissileWeaponTypes.HVLI); } if (types.HasFlag(MissileWeaponTypes.Probe)) { return(MissileWeaponTypes.Probe); } return(MissileWeaponTypes.None); }
public void SetupMissileWeapon(int hardpointIndex, float loadTime, MissileWeaponTypes loadTypes) { var tube = GetWeaponMount <TubeTemplate>(hardpointIndex, HardpointTypes.Tube); tube.AllowedLoadings = loadTypes; tube.LoadTime = loadTime; }
public void RemoveTubeLoadTypes(int hardpointIndex, MissileWeaponTypes types) { HardpointID id = GetHardpointID(HardpointTypes.Tube, hardpointIndex, true); if (id == null) { return; } (Weapons[id].MountedWeapon as TubeTemplate).AllowedLoadings &= ~types; }
public void SetupMissileMagazine(MissileWeaponTypes type, int capacity, MissileWeaponTypes fillWith) { if (type == MissileWeaponTypes.None) { return; } MissileMagazine magazine = new MissileMagazine(); magazine.Capacity = capacity; magazine.AllowedTypes = type; var fill = GetSingleMissileType(fillWith); if (fill != MissileWeaponTypes.None && type.HasFlag(fill)) { for (int i = 0; i < capacity; i++) { magazine.Loadout.Add(fill); } } Magazines.Add(magazine); }
public void SetupMissileMagazine(MissileWeaponTypes type, int capacity) { SetupMissileMagazine(type, capacity, GetSingleMissileType(type)); }
public void SetMissileWeaponLoadingTypes(int hardpointIndex, MissileWeaponTypes loadTypes) { TubeTemplate tube = GetWeaponMount <TubeTemplate>(hardpointIndex, HardpointTypes.Tube); tube.AllowedLoadings = loadTypes; }