Beispiel #1
0
        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);
        }
Beispiel #2
0
        public void SetupMissileWeapon(int hardpointIndex, float loadTime, MissileWeaponTypes loadTypes)
        {
            var tube = GetWeaponMount <TubeTemplate>(hardpointIndex, HardpointTypes.Tube);

            tube.AllowedLoadings = loadTypes;
            tube.LoadTime        = loadTime;
        }
Beispiel #3
0
        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;
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 public void SetupMissileMagazine(MissileWeaponTypes type, int capacity)
 {
     SetupMissileMagazine(type, capacity, GetSingleMissileType(type));
 }
Beispiel #6
0
        public void SetMissileWeaponLoadingTypes(int hardpointIndex, MissileWeaponTypes loadTypes)
        {
            TubeTemplate tube = GetWeaponMount <TubeTemplate>(hardpointIndex, HardpointTypes.Tube);

            tube.AllowedLoadings = loadTypes;
        }