private void addSpecialEquip(SpecialEquipInfo equipInfo)
        {
            this.controller.AddSpecialEquip(equipInfo);

            var itemView = new ShipEquipmentItem();

            itemView.Data = new ShipComponentType <SpecialEquipInfo>(
                equipInfo.Name, ImageCache.Get[equipInfo.ImagePath], equipInfo,
                equipmentAction.Dispatch
                );
            itemView.Amount = this.controller.SpecialEquipCount(equipInfo);

            if (equipmentSeparator == null)
            {
                this.equipmentSeparator           = new Label();
                this.equipmentSeparator.Anchor    = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
                this.equipmentSeparator.Size      = new System.Drawing.Size(375, 25);
                this.equipmentSeparator.Text      = LocalizationManifest.Get.CurrentLanguage["FormDesign"]["specEquipSeparator"].Text();
                this.equipmentSeparator.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
                this.equipmentList.Controls.Add(this.equipmentSeparator);
                this.equipmentList.Unselectable(this.equipmentSeparator);
            }

            this.equipmentList.Controls.Add(itemView);
            this.equipmentList.SelectedIndex = equipmentList.Controls.Count - 1;
        }
        public void AddSpecialEquip(SpecialEquipInfo equipInfo)
        {
            if (this.selectedSpecialEquipment.Any(x => x.TypeInfo == equipInfo.Type))
            {
                return;
            }

            this.selectedSpecialEquipment.Add(new Component <SpecialEquipmentType>(equipInfo.Type, equipInfo.Level, 1));
        }
        public void SpecialEquipSetAmount(SpecialEquipInfo equipInfo, int amount)
        {
            int i = this.selectedSpecialEquipment.FindIndex(x => x.TypeInfo == equipInfo.Type);

            if (i >= 0)
            {
                if (amount == 0)
                {
                    this.selectedSpecialEquipment.RemoveAt(i);
                }
                else if (amount > 0 && amount <= equipInfo.MaxCount)
                {
                    this.selectedSpecialEquipment[i] = new Component <SpecialEquipmentType>(equipInfo.Type, equipInfo.Level, amount);
                }
            }
        }
Example #4
0
        public void SpecialEquipSetAmount(SpecialEquipInfo equipInfo, int amount)
        {
            int i = this.selectedSpecialEquipment.FindIndex(x => x.TypeInfo == equipInfo.Type);

            if (i < 0)
            {
                i = this.selectedSpecialEquipment.Count;
                this.selectedSpecialEquipment.Add(new Component <SpecialEquipmentType>(equipInfo.Type, equipInfo.Level, 0));
            }

            if (amount <= 0)
            {
                this.selectedSpecialEquipment.RemoveAt(i);
            }
            else if (amount <= equipInfo.MaxCount)
            {
                this.selectedSpecialEquipment[i] = new Component <SpecialEquipmentType>(equipInfo.Type, equipInfo.Level, amount);
            }

            this.onHullChange();
        }
Example #5
0
 public int SpecialEquipCount(SpecialEquipInfo equipInfo)
 {
     return(this.selectedSpecialEquipment.
            Where(x => x.TypeInfo == equipInfo.Type).
            Aggregate(0, (sum, x) => x.Quantity));
 }
Example #6
0
 public bool HasSpecialEquip(SpecialEquipInfo equipInfo)
 {
     return(this.selectedSpecialEquipment.Any(x => x.Quantity > 0 && x.TypeInfo == equipInfo.Type));
 }
Example #7
0
 public void Dispatch(SpecialEquipInfo equipmentInfo)
 {
     this.SpecialEquipmentAction(equipmentInfo);
 }