public override object Clone() { ComponentCockpit retval = base.Clone() as ComponentCockpit; retval.PilotingRollModifier = PilotingRollModifier; //TODO: CriticalSlots clone return(retval); }
public static List <ComponentCockpit> GetCanonicalCockpits() { List <ComponentCockpit> retval = new List <ComponentCockpit>(); ComponentCockpit standardCockpit = new ComponentCockpit() { Tonnage = 3, TechnologyBase = TECHNOLOGY_BASE.BOTH, Name = "Standard Cockpit", PilotingRollModifier = 0 }; standardCockpit.CriticalSlots = new CriticalSlot[] { new CriticalSlot() { Label = "Life Support", SlotNumber = 1, RollAgain = false }, new CriticalSlot() { Label = "Life Support", SlotNumber = 6, RollAgain = false }, new CriticalSlot() { Label = "Cockpit", SlotNumber = 3, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 2, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 5, RollAgain = false } }; ComponentCockpit primitiveCockpit = new ComponentCockpit() { Tonnage = 3, TechnologyBase = TECHNOLOGY_BASE.BOTH, Name = "Primitive Cockpit", PilotingRollModifier = 0 }; primitiveCockpit.CriticalSlots = new CriticalSlot[] { new CriticalSlot() { Label = "Life Support", SlotNumber = 1, RollAgain = false }, new CriticalSlot() { Label = "Life Support", SlotNumber = 6, RollAgain = false }, new CriticalSlot() { Label = "Primitive Cockpit", SlotNumber = 3, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 2, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 5, RollAgain = false } }; ComponentCockpit smallCockpit = new ComponentCockpit() { Tonnage = 2, TechnologyBase = TECHNOLOGY_BASE.BOTH, Name = "Small Cockpit", PilotingRollModifier = 1 }; smallCockpit.CriticalSlots = new CriticalSlot[] { new CriticalSlot() { Label = "Life Support", SlotNumber = 1, RollAgain = false }, new CriticalSlot() { Label = "Cockpit", SlotNumber = 3, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 2, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 4, RollAgain = false } }; ComponentCockpit torsoCockpit = new ComponentCockpit() { Tonnage = 4, TechnologyBase = TECHNOLOGY_BASE.BOTH, Name = "Torso Cockpit", PilotingRollModifier = 1 }.AddAlias("Torso-Mounted Cockpit") as ComponentCockpit; torsoCockpit.CriticalSlots = new CriticalSlot[] { new CriticalSlot() { Label = "Cockpit", SlotNumber = 10, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 11, RollAgain = false }, }; ComponentCockpit industrialCockpit = new ComponentCockpit() { Tonnage = 3, TechnologyBase = TECHNOLOGY_BASE.BOTH, Name = "Industrial Cockpit", PilotingRollModifier = 1 } .AddAlias("Industrial Cockpit (AFC)") .AddAlias("Primitive Industrial Cockpit") as ComponentCockpit; industrialCockpit.CriticalSlots = new CriticalSlot[] { new CriticalSlot() { Label = "Life Support", SlotNumber = 1, RollAgain = false }, new CriticalSlot() { Label = "Cockpit", SlotNumber = 3, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 2, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 4, RollAgain = false }, new CriticalSlot() { Label = "Life Support", SlotNumber = 6, RollAgain = false }, }; ComponentCockpit interfaceCockpit = new ComponentCockpit() { Tonnage = 4, TechnologyBase = TECHNOLOGY_BASE.BOTH, Name = "Interface Cockpit", PilotingRollModifier = 1 }; interfaceCockpit.CriticalSlots = new CriticalSlot[] { new CriticalSlot() { Label = "Life Support", SlotNumber = 1, RollAgain = false }, new CriticalSlot() { Label = "Life Support", SlotNumber = 6, RollAgain = false }, new CriticalSlot() { Label = "Interface Cockpit", SlotNumber = 3, RollAgain = false }, new CriticalSlot() { Label = "Interface Cockpit", SlotNumber = 4, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 2, RollAgain = false }, new CriticalSlot() { Label = "Sensor", SlotNumber = 5, RollAgain = false } }; retval.Add(standardCockpit); retval.Add(smallCockpit); retval.Add(torsoCockpit); retval.Add(primitiveCockpit); retval.Add(industrialCockpit); retval.Add(interfaceCockpit); return(retval); }