Example #1
0
        protected HardpointID GetHardpointID(HardpointTypes type, int index, bool checkType)
        {
            HardpointID id = new HardpointID(type, index);

            if (!Weapons.ContainsKey(id) || (checkType && Weapons[id].MountedWeapon.WeaponType != GetStandardWeaponTypeForMount(type)))
            {
                return(null);
            }

            return(id);
        }
Example #2
0
        protected T GetWeaponMount <T>(int index, HardpointTypes type) where T : WeaponTemplate, new()
        {
            WeaponMount mount = FindWeaponMount(type, index);

            if (mount.MountedWeapon == null || mount.MountedWeapon.WeaponType != GetStandardWeaponTypeForMount(type))
            {
                mount.MountedWeapon = new T();
            }

            return(mount.MountedWeapon as T);
        }
Example #3
0
        protected WeaponTemplate.WeaponTypes GetStandardWeaponTypeForMount(HardpointTypes type)
        {
            if (type == HardpointTypes.Beam)
            {
                return(WeaponTemplate.WeaponTypes.Beam);
            }
            else if (type == HardpointTypes.Tube)
            {
                return(WeaponTemplate.WeaponTypes.Missile);
            }

            return(WeaponTemplate.WeaponTypes.Unknown);
        }
Example #4
0
        public WeaponMount FindWeaponMount(HardpointTypes type, int index)
        {
            HardpointID id = new HardpointID(type, index);

            if (Weapons.ContainsKey(id))
            {
                return(Weapons[id]);
            }

            WeaponMount mount = new WeaponMount();

            mount.Hardpoint = id;
            Weapons.Add(id, mount);
            return(mount);
        }
Example #5
0
 public HardpointID(HardpointTypes type, int index)
 {
     Data = new Tuple <HardpointTypes, int>(type, index);
 }
Example #6
0
 public Hardpoint(int s, HardpointTypes type)
 {
     HardpointType = type;
     Size          = s;
     inUse         = false;
 }