private void SetControlsAndWindow()
{
_columnValues.Clear();
int width = LABEL_WIDTH + _numOfColumnsVisible * COLUMN_WIDTH + (_scrollBarVisible ? 16 : 0);
int height = 40 + _maxVisible * 40;
int left = (_middleX - (width / 2));
int top = (_middleY - (height / 2));
string reason; //Unused, since at this point we've already initialized at least once, meaning everything is set up correctly
_columnNames.Clear();
_columnNames.Add(new BBLabel());
_columnNames[0].Initialize(left + 5, top + 10, "Name", System.Drawing.Color.White, out reason);
_columnValues.Add(new BBLabel[_maxVisible]);
for (int i = 0; i < _maxVisible; i++)
{
_buttons[i].MoveTo(left, top + 40 + (i * 40));
_buttons[i].ResizeButton(LABEL_WIDTH + _numOfColumnsVisible * COLUMN_WIDTH, 40);
_columnValues[0][i] = new BBLabel();
_columnValues[0][i].Initialize(left + 5, top + 50 + (i * 40), string.Empty, System.Drawing.Color.White, out reason);
}
left += LABEL_WIDTH;
for (int i = 1; i <= _numOfColumnsVisible; i++)
{
_columnNames.Add(new BBLabel());
_columnNames[i].Initialize(left + ((i - 1) * COLUMN_WIDTH) + 5, top + 10, string.Empty, System.Drawing.Color.White, out reason);
_columnValues.Add(new BBLabel[_maxVisible]);
for (int j = 0; j < _maxVisible; j++)
{
_columnValues[i][j] = new BBLabel();
_columnValues[i][j].Initialize(left + ((i - 1) * COLUMN_WIDTH) + 5, top + 50 + (j * 40), string.Empty, System.Drawing.Color.White, out reason);
}
}
//Move and resize the window to fit
_xPos = (_gameMain.ScreenWidth / 2) - (width / 2) - 10;
_yPos = (_gameMain.ScreenHeight / 2) - (height / 2) - 10;
_backGroundImage.Resize(width + 20, height + 20);
_backGroundImage.MoveTo(_xPos, _yPos);
_scrollBar.MoveTo(left + _numOfColumnsVisible * COLUMN_WIDTH, top + 40);
switch (_equipmentType)
{
case EquipmentType.ARMOR:
{
_columnNames[0].SetText("Armor Type");
_columnNames[1].SetText("Cost");
_columnNames[2].SetText("Space");
} break;
case EquipmentType.COMPUTER:
{
_columnNames[0].SetText("Computer Type");
_columnNames[1].SetText("Cost");
_columnNames[2].SetText("Size");
_columnNames[3].SetText("Power");
_columnNames[4].SetText("Space");
} break;
case EquipmentType.SHIELD:
{
_columnNames[0].SetText("Shield Type");
_columnNames[1].SetText("Cost");
_columnNames[2].SetText("Size");
_columnNames[3].SetText("Power");
_columnNames[4].SetText("Space");
} break;
case EquipmentType.ECM:
{
_columnNames[0].SetText("ECM Type");
_columnNames[1].SetText("Cost");
_columnNames[2].SetText("Size");
_columnNames[3].SetText("Power");
_columnNames[4].SetText("Space");
} break;
case EquipmentType.ENGINE:
{
_columnNames[0].SetText("Engine Type");
_columnNames[1].SetText("Cost");
_columnNames[2].SetText("Size");
_columnNames[3].SetText("# Required");
_columnNames[4].SetText("Space");
} break;
case EquipmentType.MANEUVER:
{
_columnNames[0].SetText("Maneuver Level");
_columnNames[1].SetText("Speed");
_columnNames[2].SetText("Cost");
_columnNames[3].SetText("Power");
_columnNames[4].SetText("Space");
} break;
case EquipmentType.WEAPON:
{
_columnNames[1].SetText("Damage");
_columnNames[2].SetText("Cost");
_columnNames[3].SetText("Size");
_columnNames[4].SetText("Power");
_columnNames[5].SetText("Space");
_columnNames[6].SetText("Max Mounts");
} break;
}
}