private void listBox_allAbilities_MouseDoubleClick(object sender, MouseEventArgs e) { //create a list of AbilityTypes from the abilitys this component has so I can check if it's already in the list or not. List <AbilityType> abilityTypeslistList = new List <AbilityType>(); foreach (var abilityWrapper in _selectedComponentAbilityWrappers) { ComponentAbilitySD abilitySD = abilityWrapper.AbilityStaticData(); abilityTypeslistList.Add(abilitySD.Ability); } if (!abilityTypeslistList.Contains((AbilityType)listBox_allAbilities.SelectedItem)) //check if it's in the list { ComponentAbilitySD abilitySD = new ComponentAbilitySD(); abilitySD.Name = listBox_allAbilities.SelectedItem.ToString(); abilitySD.Ability = (AbilityType)listBox_allAbilities.SelectedItem; abilitySD.AbilityAmount = new List <float>(); abilitySD.AffectsAbility = AbilityType.Nothing; abilitySD.AffectedAmount = new List <float>(); abilitySD.CrewAmount = new List <float>(); abilitySD.Description = ""; abilitySD.TechRequirements = new List <Guid>(); abilitySD.WeightAmount = new List <float>(); _selectedComponentAbilityWrappers.Add(new ComponentAbilityWrapper(abilitySD)); } //UpdateAbilityAmounts(); }
public ComponentAbilityWrapper(ComponentAbilitySD _abilitySD) { Name = _abilitySD.Name; Description = _abilitySD.Description; Ability = _abilitySD.Ability; AbilityAmount = _abilitySD.AbilityAmount; CrewAmount = _abilitySD.CrewAmount; WeightAmount = _abilitySD.WeightAmount; AffectsAbility = _abilitySD.AffectsAbility; AffectedAmount = _abilitySD.AffectedAmount; TechRequirements = _abilitySD.TechRequirements; }
private void button_clearSelection_Click(object sender, EventArgs e) { _selectedComponentAbilityWrappers.Clear(); ComponentAbilitySD newemptyabilitySD = new ComponentAbilitySD { }; ComponentSD newEmptySD = new ComponentSD { ID = new Guid(), Name = "", Description = "", ComponentAbilitySDs = new List <ComponentAbilitySD>(), }; SetCurrentComponent(newEmptySD); }
public ComponentAbilitySD AbilityStaticData() { ComponentAbilitySD newSD = new ComponentAbilitySD { Name = Name, Description = Description, Ability = Ability, AbilityAmount = AbilityAmount, CrewAmount = CrewAmount, WeightAmount = WeightAmount, AffectsAbility = AffectsAbility, AffectedAmount = AffectedAmount, TechRequirements = TechRequirements }; return(newSD); }
public DataHolder(ComponentAbilitySD staticData) { File = null; StaticData = staticData; }
/// <summary> /// This sets up the itemGrid control by /// Creating the headers /// Creating the footers /// Selecting the correct cell type /// Creating the cells and adding the data /// Adding them to the itemGrid control. /// </summary> /// <param name="abilitySD"></param> private void SetupItemGrid(ComponentAbilitySD abilitySD) { itemGridUC1.Clear(); Type t = _selectedComponentAbilityWrappers[_currentAbilityIndex].GetType(); PropertyInfo pinfo = t.GetProperty("Name"); ItemGridHeaderCell rowHeader = null; ItemGridFooterCell rowFooter = null; List <ItemGridDataCell> dataCells = new List <ItemGridDataCell>(); rowHeader = new ItemGridHeaderCell("Name", pinfo); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_String(null)); ItemGridCell_String nameCell = new ItemGridCell_String(null); if (!String.IsNullOrEmpty(abilitySD.Name)) { dataCells.Add(new ItemGridCell_String(abilitySD.Name)); } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("Description", t.GetProperty("Description")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_String(null)); ItemGridCell_String descCell = new ItemGridCell_String(null); if (!String.IsNullOrEmpty(abilitySD.Description)) { dataCells.Add(new ItemGridCell_String(abilitySD.Description)); } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("Ability", t.GetProperty("Ability")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_AbilityType(null)); if (abilitySD.Ability != null) { dataCells.Add(new ItemGridCell_AbilityType(abilitySD.Ability)); } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("AbilityAmount", t.GetProperty("AbilityAmount")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_FloatType(0)); if (!abilitySD.AbilityAmount.IsNullOrEmpty()) { foreach (float ammount in abilitySD.AbilityAmount) { dataCells.Add(new ItemGridCell_FloatType(ammount)); } } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("CrewAmount", t.GetProperty("CrewAmount")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_FloatType(0)); if (!abilitySD.CrewAmount.IsNullOrEmpty()) { foreach (float crew in abilitySD.CrewAmount) { dataCells.Add(new ItemGridCell_FloatType(crew)); } } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("WeightAmount", t.GetProperty("WeightAmount")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_FloatType(0)); if (!abilitySD.WeightAmount.IsNullOrEmpty()) { foreach (float weight in abilitySD.WeightAmount) { dataCells.Add(new ItemGridCell_FloatType(weight)); } } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("AffectsAbility", t.GetProperty("AffectsAbility")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_AbilityType(null)); if (abilitySD.AffectsAbility != null) { dataCells.Add(new ItemGridCell_AbilityType(abilitySD.AffectsAbility)); } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("AffectedAmount", t.GetProperty("AffectedAmount")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_FloatType(0)); if (!abilitySD.AffectedAmount.IsNullOrEmpty()) { foreach (float affect in abilitySD.AffectedAmount) { dataCells.Add(new ItemGridCell_FloatType(affect)); } } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); rowHeader = new ItemGridHeaderCell("TechRequirements", t.GetProperty("TechRequirements")); dataCells = new List <ItemGridDataCell>(); rowFooter = new ItemGridFooterCell(new ItemGridCell_TechStaticDataType(null, Data.GetllistoftTechSds())); if (!abilitySD.TechRequirements.IsNullOrEmpty()) { foreach (Guid techGuid in abilitySD.TechRequirements) { dataCells.Add(new ItemGridCell_TechStaticDataType(techGuid, Data.GetllistoftTechSds())); } } itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); //rowHeader = new ItemGridHeaderCell("MineralCosts", t.GetProperty("MineralCosts")); //dataCells = new List<ItemGridDataCell>(); //rowFooter = new ItemGridFooterCell(new ItemGridCell_MineralDictionary(null, Data.GetListofMineralSds())); //itemGridUC1.AddRow(rowHeader, dataCells, rowFooter); itemGridUC1.HardRedraw(); //itemGridUC1.SoftRefresh(); }