public Control this[AW2.Game.GobUtils.ShipDevice.OwnerHandleType ownerHandleType] { get { switch (ownerHandleType) { case Game.GobUtils.ShipDevice.OwnerHandleType.PrimaryWeapon: return Fire1; case Game.GobUtils.ShipDevice.OwnerHandleType.SecondaryWeapon: return Fire2; case Game.GobUtils.ShipDevice.OwnerHandleType.ExtraDevice: return Extra; default: throw new ArgumentException("Unknown owner handle " + ownerHandleType); } } }
public virtual FiringResult TryFire(AW2.UI.ControlState triggerState) { var result = Owner.Disabled || !triggerState.Pulse ? FiringResult.Void : !FiringOperator.Loaded || !FiringOperator.Charged ? FiringResult.NotReady : !PermissionToFire() ? FiringResult.Failure : FiringResult.Success; ExecuteFiring(result); return result; }