private void shipGroupItem_SplitRequested(object sender, EventArgs e) { var groupItem = sender as ShipGroupItem; using (var form = new FormSelectQuantity(groupItem.Data.Quantity, 1)) { form.ShowDialog(); groupItem.PartialSelect(form.SelectedValue); groupItem.IsSelected = form.SelectedValue > 0; } }
private void customAmountAction_Click(object sender, EventArgs e) { if (this.equipmentList.SelectedItem == null || !(this.equipmentList.SelectedItem is ShipEquipmentItem)) { return; } var selectedItem = this.equipmentList.SelectedItem as ShipEquipmentItem; long maxCount = 0; this.equipmentAction.MissionEquipmentAction = x => maxCount = (long)Math.Floor(this.controller.SpaceTotal / x.Size); this.equipmentAction.SpecialEquipmentAction = x => maxCount = (long)x.MaxCount; selectedItem.Data.Dispatch(); using (var form = new FormSelectQuantity(maxCount, (long)selectedItem.Amount)) if (form.ShowDialog() == DialogResult.OK) { this.equipmentAction.MissionEquipmentAction = x => { this.controller.MissionEquipSetAmount(this.equipmentList.SelectedIndex, (int)form.SelectedValue); if (form.SelectedValue == 0) { this.equipmentList.Controls.Remove(selectedItem); } else { selectedItem.Amount = this.controller.MissionEquipCount(this.equipmentList.SelectedIndex); } }; this.equipmentAction.SpecialEquipmentAction = x => { this.controller.SpecialEquipSetAmount(x, (int)form.SelectedValue); if (this.controller.SpecialEquipCount(x) == 0) { this.equipmentList.Controls.Remove(selectedItem); this.removeEquipmentSeparator(); } else { selectedItem.Amount = this.controller.SpecialEquipCount(x); } }; selectedItem.Data.Dispatch(); updateInfos(); } }