public void AddWeapon(IShipWeapon weapon) { ShipWeaponGroup group = WeaponGroups.Find((WeaponGroup) => WeaponGroup.num == weapon.GetDefaultOperation()); if (group == null) { group = new ShipWeaponGroup(); WeaponGroups.Add(group); if (WeaponGroups.Count == 1) { currentWeaponIndex = WeaponGroups[0]; } group.shipWeapons.Add(weapon); group.num = weapon.GetDefaultOperation(); group.operationMode = weapon.GetOperationMode(); } else { group.shipWeapons.Add(weapon); } }