BDALoadedVesselSwitcher.LoadedVesselSwitcher.ListWindow C# (CSharp) Method

ListWindow() public method

public ListWindow ( int id ) : void
id int
return void
        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;
        }