void ListWindow(int id)
{
GUI.DragWindow(new Rect(0,0,windowWidth-buttonHeight-4, titleHeight));
if(GUI.Button(new Rect(windowWidth - buttonHeight-4, 4, buttonHeight, buttonHeight), "X", HighLogic.Skin.button))
{
BDArmorySettings.Instance.showVSGUI = false;
return;
}
float height = 0;
float vesselLineA = 0;
float vesselLineB = 0;
height += margin + titleHeight;
GUI.Label(new Rect(margin, height, windowWidth - (2 * margin), buttonHeight), "Team A:", HighLogic.Skin.label);
height += buttonHeight;
float vesselButtonWidth = windowWidth - (2 * margin);
vesselButtonWidth -= (3 * buttonHeight);
foreach(var wm in wmgrsA)
{
float lineY = height + (vesselLineA * (buttonHeight + buttonGap));
Rect buttonRect = new Rect(margin, lineY, vesselButtonWidth, buttonHeight);
GUIStyle vButtonStyle = wm.vessel.isActiveVessel ? HighLogic.Skin.box : HighLogic.Skin.button;
if(GUI.Button(buttonRect, wm.vessel.GetName(), vButtonStyle))
{
FlightGlobals.ForceSetActiveVessel(wm.vessel);
}
//guard toggle
GUIStyle guardStyle = wm.guardMode ? HighLogic.Skin.box : HighLogic.Skin.button;
Rect guardButtonRect = new Rect(margin+vesselButtonWidth, lineY, buttonHeight, buttonHeight);
if(GUI.Button(guardButtonRect, "G", guardStyle))
{
wm.ToggleGuardMode();
}
//AI toggle
if(wm.pilotAI)
{
GUIStyle aiStyle = wm.pilotAI.pilotEnabled ? HighLogic.Skin.box : HighLogic.Skin.button;
Rect aiButtonRect = new Rect(margin + vesselButtonWidth + buttonHeight, lineY, buttonHeight, buttonHeight);
if(GUI.Button(aiButtonRect, "P", aiStyle))
{
wm.pilotAI.TogglePilot();
}
}
//team toggle
Rect teamButtonRect = new Rect(margin + vesselButtonWidth + buttonHeight + buttonHeight, lineY, buttonHeight, buttonHeight);
if(GUI.Button(teamButtonRect, "T", HighLogic.Skin.button))
{
wmToSwitchTeam = wm;
teamSwitchDirty = true;
}
vesselLineA++;
}
height += (vesselLineA * (buttonHeight + buttonGap));
height += margin;
GUI.Label(new Rect(margin, height, windowWidth - (2 * margin), buttonHeight), "Team B:", HighLogic.Skin.label);
height += buttonHeight;
foreach(var wm in wmgrsB)
{
float lineY = height + (vesselLineB * (buttonHeight + buttonGap));
Rect buttonRect = new Rect(margin, lineY, vesselButtonWidth, buttonHeight);
GUIStyle vButtonStyle = wm.vessel.isActiveVessel ? HighLogic.Skin.box : HighLogic.Skin.button;
if(GUI.Button(buttonRect, wm.vessel.GetName(), vButtonStyle))
{
FlightGlobals.ForceSetActiveVessel(wm.vessel);
}
//guard toggle
GUIStyle guardStyle = wm.guardMode ? HighLogic.Skin.box : HighLogic.Skin.button;
Rect guardButtonRect = new Rect(margin+vesselButtonWidth, lineY, buttonHeight, buttonHeight);
if(GUI.Button(guardButtonRect, "G", guardStyle))
{
wm.ToggleGuardMode();
}
//AI toggle
if(wm.pilotAI)
{
GUIStyle aiStyle = wm.pilotAI.pilotEnabled ? HighLogic.Skin.box : HighLogic.Skin.button;
Rect aiButtonRect = new Rect(margin + vesselButtonWidth + buttonHeight, lineY, buttonHeight, buttonHeight);
if(GUI.Button(aiButtonRect, "P", aiStyle))
{
wm.pilotAI.TogglePilot();
}
}
//team toggle
Rect teamButtonRect = new Rect(margin + vesselButtonWidth + buttonHeight + buttonHeight, lineY, buttonHeight, buttonHeight);
if(GUI.Button(teamButtonRect, "T", HighLogic.Skin.button))
{
wmToSwitchTeam = wm;
teamSwitchDirty = true;
}
vesselLineB++;
}
height += (vesselLineB * (buttonHeight + buttonGap));
height += margin;
windowHeight = height;
}