Exemple #1
0
        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);
                    }
                }
            }
        }
Exemple #2
0
        public override object Clone()
        {
            ComponentRetractableBlade retval = base.Clone() as ComponentRetractableBlade;

            return(retval);
        }