public static void ResolveComponents(Design design) { foreach (HitLocation location in design.HitLocations) { BattleMechHitLocation bmhl = location as BattleMechHitLocation; List <CriticalSlot> slots = new List <CriticalSlot>(); ComponentRetractableBlade componentRetractableBlade = new ComponentRetractableBlade(); componentRetractableBlade.Configure(design); if (design.IsCompatible(componentRetractableBlade)) { foreach (CriticalSlot criticalSlot in bmhl.CriticalSlots) { if (Utilities.IsSynonymFor(componentRetractableBlade, criticalSlot.Label)) { slots.Add(criticalSlot); } } if (slots.Count == componentRetractableBlade.CriticalSpaceMech) { UnitComponent uc = new UnitComponent(componentRetractableBlade, bmhl); design.Components.Add(uc); } } } }
public override object Clone() { ComponentRetractableBlade retval = base.Clone() as ComponentRetractableBlade; return(retval); }