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); }
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); }
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); }
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); }
public HardpointID(HardpointTypes type, int index) { Data = new Tuple <HardpointTypes, int>(type, index); }
public Hardpoint(int s, HardpointTypes type) { HardpointType = type; Size = s; inUse = false; }