public bool Initialize(GameMain gameMain, out string reason)
{
int x = (gameMain.ScreenWidth / 2) - 400;
int y = (gameMain.ScreenHeight / 2) - 300;
if (!base.Initialize(x, y, 800, 600, StretchableImageType.MediumBorder, gameMain, false, gameMain.Random, out reason))
{
return false;
}
_shipStyleBackground = new BBStretchableImage();
_shipSizeButtons = new BBStretchButton[4];
_prevShipStyleButton = new BBButton();
_nextShipStyleButton = new BBButton();
if (!_shipStyleBackground.Initialize(x + 15, y + 385, 220, 200, StretchableImageType.ThinBorderBG, gameMain.Random, out reason))
{
return false;
}
if (!_prevShipStyleButton.Initialize("ScrollLeftBGButton", "ScrollLeftFGButton", string.Empty, ButtonTextAlignment.CENTER, x + 22, y + 477, 16, 16, gameMain.Random, out reason))
{
return false;
}
if (!_nextShipStyleButton.Initialize("ScrollRightBGButton", "ScrollRightFGButton", string.Empty, ButtonTextAlignment.CENTER, x + 212, y + 477, 16, 16, gameMain.Random, out reason))
{
return false;
}
for (int i = 0; i < _shipSizeButtons.Length; i++)
{
_shipSizeButtons[i] = new BBStretchButton();
}
if (!_shipSizeButtons[0].Initialize("Small", ButtonTextAlignment.CENTER, StretchableImageType.ThinBorderBG, StretchableImageType.ThinBorderFG, x + 235, y + 385, 80, 50, gameMain.Random, out reason))
{
return false;
}
if (!_shipSizeButtons[1].Initialize("Medium", ButtonTextAlignment.CENTER, StretchableImageType.ThinBorderBG, StretchableImageType.ThinBorderFG, x + 235, y + 435, 80, 50, gameMain.Random, out reason))
{
return false;
}
if (!_shipSizeButtons[2].Initialize("Large", ButtonTextAlignment.CENTER, StretchableImageType.ThinBorderBG, StretchableImageType.ThinBorderFG, x + 235, y + 485, 80, 50, gameMain.Random, out reason))
{
return false;
}
if (!_shipSizeButtons[3].Initialize("Huge", ButtonTextAlignment.CENTER, StretchableImageType.ThinBorderBG, StretchableImageType.ThinBorderFG, x + 235, y + 535, 80, 50, gameMain.Random, out reason))
{
return false;
}
_engineBackground = new BBStretchableImage();
_engineButton = new BBStretchButton();
_maneuverButton = new BBStretchButton();
_engineSpeed = new BBLabel();
_combatSpeed = new BBLabel();
_costPerPowerLabel = new BBLabel();
_spacePerPowerLabel = new BBLabel();
_defenseRating = new BBLabel();
if (!_engineBackground.Initialize(x + 15, y + 15, 300, 180, StretchableImageType.ThinBorderBG, gameMain.Random, out reason))
{
return false;
}
if (!_engineButton.Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 25, y + 25, 280, 35, gameMain.Random, out reason))
{
return false;
}
if (!_maneuverButton.Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 25, y + 62, 280, 35, gameMain.Random, out reason))
{
return false;
}
if (!_engineSpeed.Initialize(x + 25, y + 100, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_combatSpeed.Initialize(x + 165, y + 100, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_costPerPowerLabel.Initialize(x + 25, y + 120, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_spacePerPowerLabel.Initialize(x + 25, y + 140, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_defenseRating.Initialize(x + 25, y + 160, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
_defensiveEquipmentBackground = new BBStretchableImage();
_armorButton = new BBStretchButton();
_shieldButton = new BBStretchButton();
_ECMButton = new BBStretchButton();
_hitPointsLabel = new BBLabel();
_absorbtionLabel = new BBLabel();
_missileDefenseLabel = new BBLabel();
if (!_defensiveEquipmentBackground.Initialize(x + 15, y + 195, 300, 190, StretchableImageType.ThinBorderBG, gameMain.Random, out reason))
{
return false;
}
if (!_armorButton.Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 25, y + 206, 280, 35, gameMain.Random, out reason))
{
return false;
}
if (!_shieldButton.Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 25, y + 243, 280, 35, gameMain.Random, out reason))
{
return false;
}
if (!_ECMButton.Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 25, y + 280, 280, 35, gameMain.Random, out reason))
{
return false;
}
if (!_hitPointsLabel.Initialize(x + 25, y + 315, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_absorbtionLabel.Initialize(x + 25, y + 335, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_missileDefenseLabel.Initialize(x + 25, y + 355, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
_computerBackground = new BBStretchableImage();
_computerButton = new BBStretchButton();
_attackRating = new BBLabel();
if (!_computerBackground.Initialize(x + 315, y + 15, 470, 55, StretchableImageType.ThinBorderBG, gameMain.Random, out reason))
{
return false;
}
if (!_computerButton.Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 325, y + 25, 280, 35, gameMain.Random, out reason))
{
return false;
}
if (!_attackRating.Initialize(x + 610, y + 30, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
_weaponsBackground = new BBStretchableImage();
_weaponButtons = new BBStretchButton[4];
_weaponCountLabels = new BBLabel[4];
_weaponDescriptions = new BBLabel[4];
_weaponCounts = new BBNumericUpDown[4];
if (!_weaponsBackground.Initialize(x + 315, y + 70, 470, 220, StretchableImageType.ThinBorderBG, gameMain.Random, out reason))
{
return false;
}
for (int i = 0; i < 4; i++)
{
_weaponButtons[i] = new BBStretchButton();
_weaponCountLabels[i] = new BBLabel();
_weaponDescriptions[i] = new BBLabel();
_weaponCounts[i] = new BBNumericUpDown();
if (!_weaponButtons[i].Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 325, y + 80 + (i * 50), 280, 30, gameMain.Random, out reason))
{
return false;
}
if (!_weaponCountLabels[i].Initialize(x + 695, y + 85 + (i * 50), "Count:", System.Drawing.Color.White, out reason))
{
return false;
}
_weaponCountLabels[i].SetAlignment(true);
if (!_weaponCounts[i].Initialize(x + 700, y + 85 + (i * 50), 70, 1, 99, 1, 1, gameMain.Random, out reason))
{
return false;
}
if (!_weaponDescriptions[i].Initialize(x + 325, y + 112 + (i * 50), string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
}
_specialsBackground = new BBStretchableImage();
_specialButtons = new BBStretchButton[3];
_specialDescriptions = new BBTextBox[3];
if (!_specialsBackground.Initialize(x + 315, y + 290, 470, 230, StretchableImageType.ThinBorderBG, gameMain.Random, out reason))
{
return false;
}
for (int i = 0; i < 3; i++)
{
_specialButtons[i] = new BBStretchButton();
_specialDescriptions[i] = new BBTextBox();
if (!_specialButtons[i].Initialize(string.Empty, ButtonTextAlignment.CENTER, StretchableImageType.TinyButtonBG, StretchableImageType.TinyButtonFG, x + 325, y + 300 + (i * 70), 450, 30, gameMain.Random, out reason))
{
return false;
}
if (!_specialDescriptions[i].Initialize(x + 325, y + 332 + (i * 70), 450, 38, true, true, "SpecialDesc" + i, gameMain.Random, out reason))
{
return false;
}
}
_statsBackground = new BBStretchableImage();
_spaceLabel = new BBLabel();
_costLabel = new BBLabel();
_nameField = new BBSingleLineTextBox();
if (!_statsBackground.Initialize(x + 315, y + 520, 470, 65, StretchableImageType.ThinBorderBG, gameMain.Random, out reason))
{
return false;
}
if (!_spaceLabel.Initialize(x + 450, y + 559, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_costLabel.Initialize(x + 325, y + 559, string.Empty, System.Drawing.Color.White, out reason))
{
return false;
}
if (!_nameField.Initialize(string.Empty, x + 325, y + 527, 150, 30, false, gameMain.Random, out reason))
{
return false;
}
_clearButton = new BBButton();
_confirmButton = new BBButton();
if (!_clearButton.Initialize("CancelBG", "CancelFG", string.Empty, ButtonTextAlignment.CENTER, x + 595, y + 535, 75, 35, gameMain.Random, out reason))
{
return false;
}
if (!_confirmButton.Initialize("ConfirmBG", "ConfirmFG", string.Empty, ButtonTextAlignment.CENTER, x + 685, y + 535, 75, 35, gameMain.Random, out reason))
{
return false;
}
if (!_clearButton.SetToolTip("ClearDesign", "Clear Ship Design", gameMain.ScreenWidth, gameMain.ScreenHeight, gameMain.Random, out reason))
{
return false;
}
if (!_confirmButton.SetToolTip("ConfirmDesign", "Add Ship Design", gameMain.ScreenWidth, gameMain.ScreenHeight, gameMain.Random, out reason))
{
return false;
}
_equipmentSelection = new EquipmentSelection();
if (!_equipmentSelection.Initialize(gameMain, out reason))
{
return false;
}
_equipmentSelection.OnSelectManeuver = OnSelectManeuver;
_selectionShowing = false;
_fleetSpecsWindow = new FleetSpecsWindow();
if (!_fleetSpecsWindow.Initialize(gameMain, "ShipDesign", out reason))
{
return false;
}
_fleetSpecsWindow.ScrapAction = ScrapAction;
_fleetSpecsShowing = false;
return true;
}