/// <summary> /// Constructor for the turret component itself. /// </summary> /// <param name="definition">definition for this turret.</param> public TurretTN(TurretDefTN definition) { TurretDef = definition; FireController = null; CurrentCapacitor = TurretDef.powerRequirement; isDestroyed = false; }
/// <summary> /// Add a Turret to this ship class /// </summary> /// <param name="Turret">Turret to add</param> /// <param name="inc">number to add or subtract.</param> public void AddTurret(TurretDefTN Turret, short inc) { int TurretIndex = ShipTurretDef.IndexOf(Turret); if (TurretIndex != -1) { ShipTurretCount[TurretIndex] = (ushort)((short)ShipTurretCount[TurretIndex] + inc); } if (TurretIndex == -1 && inc >= 1) { ShipTurretDef.Add(Turret); ShipTurretCount.Add((ushort)inc); } else { if (TurretIndex != -1) { if (ShipTurretCount[TurretIndex] <= 0) { ShipTurretCount.RemoveAt(TurretIndex); ShipTurretDef.RemoveAt(TurretIndex); } } else { /// <summary> /// Error here so return. /// </summary> return; } } TotalPowerRequirement = TotalPowerRequirement + (int)(Turret.powerRequirement * inc); UpdateClass(Turret, inc); }
/// <summary> /// Constructor /// </summary> public TurretDesignHandler() { m_oTurretDesignPanel = new Panels.TurretDesign(); VM = new ViewModels.TurretDesignViewModel(); /// <summary> /// Bind factions to the empire selection combo box. /// </summary> m_oTurretDesignPanel.EmpireComboBox.Bind(c => c.DataSource, VM, d => d.Factions); m_oTurretDesignPanel.EmpireComboBox.Bind(c => c.SelectedItem, VM, d => d.CurrentFaction, DataSourceUpdateMode.OnPropertyChanged); m_oTurretDesignPanel.EmpireComboBox.DisplayMember = "Name"; VM.FactionChanged += (s, args) => _CurrnetFaction = VM.CurrentFaction; _CurrnetFaction = VM.CurrentFaction; m_oTurretDesignPanel.EmpireComboBox.SelectedIndexChanged += (s, args) => m_oTurretDesignPanel.EmpireComboBox.DataBindings["SelectedItem"].WriteValue(); m_oTurretDesignPanel.EmpireComboBox.SelectedIndexChanged += new EventHandler(EmpireComboBox_SelectedIndexChanged); /// <summary> /// Binding missile engines to the appropriate combo box. /// </summary> m_oTurretDesignPanel.BeamComboBox.Bind(c => c.DataSource, VM, d => d.TurretableList); m_oTurretDesignPanel.BeamComboBox.Bind(c => c.SelectedItem, VM, d => d.CurrentBeam, DataSourceUpdateMode.OnPropertyChanged); m_oTurretDesignPanel.BeamComboBox.DisplayMember = "Name"; VM.BeamChanged += (s, args) => _CurrnetBeam = VM.CurrentBeam; _CurrnetBeam = VM.CurrentBeam; m_oTurretDesignPanel.BeamComboBox.SelectedIndexChanged += (s, args) => m_oTurretDesignPanel.BeamComboBox.DataBindings["SelectedItem"].WriteValue(); m_oTurretDesignPanel.BeamComboBox.SelectedIndexChanged += new EventHandler(BeamComboBox_SelectedIndexChanged); m_oTurretDesignPanel.SingleRadioButton.CheckedChanged += new EventHandler(MultRadioButton_CheckedChanged); m_oTurretDesignPanel.TwinRadioButton.CheckedChanged += new EventHandler(MultRadioButton_CheckedChanged); m_oTurretDesignPanel.TripleRadioButton.CheckedChanged += new EventHandler(MultRadioButton_CheckedChanged); m_oTurretDesignPanel.QuadRadioButton.CheckedChanged += new EventHandler(MultRadioButton_CheckedChanged); m_oTurretDesignPanel.TrackSpeedTextBox.TextChanged += new EventHandler(TrackSpeedTextBox_TextChanged); m_oTurretDesignPanel.TurretArmourTextBox.TextChanged += new EventHandler(TurretArmourTextBox_TextChanged); m_oTurretDesignPanel.InstantButton.Click += new EventHandler(InstantButton_Click); m_oTurretDesignPanel.CloseTDButton.Click += new EventHandler(CloseTDButton_Click); Multiplier = 1; TurretProjTracking = 10000; TurretProjArmour = 0; TurretProject = null; }
/// <summary> /// Overall display function. /// </summary> private void BuildTurretDesignPage() { #warning two occurences of magic number tech checking here. int TrackTech = _CurrnetFaction.FactionTechLevel[(int)Faction.FactionTechnology.TurretTracking]; if (TrackTech > 11) TrackTech = 11; int ArmourTech = _CurrnetFaction.FactionTechLevel[(int)Faction.FactionTechnology.ArmourProtection]; if (ArmourTech > 12) ArmourTech = 12; if (_CurrnetBeam != null) { TurretProject = new TurretDefTN("---Working Title---", _CurrnetBeam, Multiplier, TurretProjTracking, TrackTech, TurretProjArmour, ArmourTech); } else TurretProject = null; BuildFactionInfo(); BuildBeamInfo(); BuildTurretInfo(); BuildSystemParamters(); }
/// <summary> /// Constructor for the turret component itself. /// </summary> /// <param name="definition">definition for this turret.</param> public TurretTN(TurretDefTN definition) { TurretDef = definition; FireController = null; CurrentCapacitor = TurretDef.powerRequirement; isDestroyed = false; }