void ShowGroupDetailsWindow(int pWindowID) { GUI.FocusWindow(pWindowID); float leadColumnSize = 40; float columnWidth = (m_rGuiGroupDetailsWindow.width - leadColumnSize)/ 5; GUILayout.BeginVertical(); GUILayout.BeginHorizontal("box"); GUILayout.Label("Lead", "label", GUILayout.Width(leadColumnSize)); GUILayout.Label("Ship Type", "label", GUILayout.Width(columnWidth)); GUILayout.Label("Hull", "label", GUILayout.Width(columnWidth)); GUILayout.Label("Fuel", "label", GUILayout.Width(columnWidth)); GUILayout.EndHorizontal(); _m_vScroll = GUILayout.BeginScrollView(_m_vScroll); foreach(GameObject shipGO in m_liShipGroups[_m_iSelectedGroupDetail].m_liShips) { GUILayout.BeginHorizontal("box1"); Ship_Small ship = (Ship_Small)shipGO.GetComponent("Ship_Small"); Ship_Small leadShip = (Ship_Small)m_liShipGroups[_m_iSelectedGroupDetail]. m_goLead.GetComponent("Ship_Small"); if(ship.m_iID != leadShip.m_iID) { if(GUILayout.Button("Lead", "button", GUILayout.Width(leadColumnSize))) { m_liShipGroups[_m_iSelectedGroupDetail].m_goLead = shipGO; } } else { GUILayout.Label("", "label", GUILayout.Width(leadColumnSize)); } if(ship is Ship_Small_Interceptor) { GUILayout.Label("Interceptor", "label", GUILayout.Width(columnWidth)); } else if(ship is Ship_Small_Scout) { GUILayout.Label("Scout", "label", GUILayout.Width(columnWidth)); } GUILayout.Label(ship.m_fHullStrength + "/" + ship.m_fMaxHullStrength, "label", GUILayout.Width(columnWidth)); GUILayout.Label(ship.m_fFuelAmount + "/" + ship.m_fMaxFuelAmount, "label", GUILayout.Width(columnWidth)); GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); GUILayout.FlexibleSpace(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); if(GUILayout.Button("Close", "button")) { _m_eWindowState = WINDOWSTATE.None; } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndVertical(); }
void GUIFlyingGroupColumn(float pColumnWidth, float pColumnHeight) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical("box1", GUILayout.Width(pColumnWidth), GUILayout.Height(pColumnHeight)); GUILayout.Label("Flying Groups", "HeaderLabel"); float tableCellWidth = pColumnWidth / 6; GUILayout.BeginHorizontal("box"); GUILayout.Label("Group", "label", GUILayout.Width(tableCellWidth)); GUILayout.Label("Group Type", "label", GUILayout.Width(tableCellWidth)); GUILayout.Label("State", "label", GUILayout.Width(tableCellWidth)); GUILayout.Label("Command", "label", GUILayout.Width(tableCellWidth)); GUILayout.EndHorizontal(); foreach(ShipGroup shipGroup in m_liShipGroups) { if(shipGroup.m_eState == GROUPSTATE.Flying || shipGroup.m_eState == GROUPSTATE.Landing || shipGroup.m_eState == GROUPSTATE.Landed) { GUILayout.BeginHorizontal("box1"); GUILayout.Label(shipGroup.m_iID.ToString(), "label", GUILayout.Width(tableCellWidth)); GUILayout.Label(shipGroup.m_eType.ToString(), "label", GUILayout.Width(tableCellWidth)); GUILayout.Label(shipGroup.m_eState.ToString(), "label", GUILayout.Width(tableCellWidth)); if(shipGroup.m_eState == GROUPSTATE.Flying) { if(GUILayout.Button("Land", "button", GUILayout.Width(tableCellWidth))) { shipGroup.LandGroup(true); } } else if(shipGroup.m_eState == GROUPSTATE.Landing) { if(GUILayout.Button("Cancel Landing", "button", GUILayout.Width(tableCellWidth))) { shipGroup.LandGroup(false); } } else if(shipGroup.m_eState == GROUPSTATE.Landed) { GUILayout.Button("Landed", "button", GUILayout.Width(tableCellWidth)); } if(GUILayout.Button("Details", "button", GUILayout.Width(tableCellWidth))) { _m_eWindowState = WINDOWSTATE.GroupDetails; _m_iSelectedGroupDetail = shipGroup.m_iID; } GUILayout.EndHorizontal(); } } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); }
void GUINewGroupColumn(float pColumnWidth, float pColumnHeight) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical("box1", GUILayout.Width(pColumnWidth), GUILayout.Height(pColumnHeight)); GUILayout.FlexibleSpace(); GUILayout.Label("New Group", "HeaderLabel"); string[] types = Enum.GetNames(typeof(GROUPTYPE)); GUILayout.Label("New Group Type", "box"); _m_eNextGroupType = (GROUPTYPE)GUILayout.SelectionGrid((int)_m_eNextGroupType, types, types.Length); GUILayout.Label("Group Interceptors:", "box"); GUILayout.BeginHorizontal(); if(GUILayout.Button("-", "button")) { _m_iNextGroupInterceptors--; } GUILayout.Label(_m_iNextGroupInterceptors.ToString(), "label"); if(GUILayout.Button("+", "button")) { _m_iNextGroupInterceptors++; } GUILayout.EndHorizontal(); GUILayout.Label("Group Scouts:", "box"); GUILayout.BeginHorizontal(); if(GUILayout.Button("-", "button")) { _m_iNextGroupScouts--; } GUILayout.Label(_m_iNextGroupScouts.ToString(), "label"); if(GUILayout.Button("+", "button")) { _m_iNextGroupScouts++; } GUILayout.EndHorizontal(); if(GUILayout.Button("Assign Group")) { bool assignedSuccess = AssignNewGroup(_m_eNextGroupType); if(assignedSuccess) _m_eWindowState = WINDOWSTATE.GroupCreationSuccess; else _m_eWindowState = WINDOWSTATE.GroupCreationFailed; } GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); }
void GUIDockedGroupColumn(float pColumnWidth, float pColumnHeight) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical("box1", GUILayout.Width(pColumnWidth), GUILayout.Height(pColumnHeight)); GUILayout.Label("Docked Groups", "HeaderLabel"); pColumnWidth -= 5; float tableCellWidth = pColumnWidth / 4; GUILayout.BeginHorizontal("box"); GUILayout.Label("Group", "label", GUILayout.Width(tableCellWidth)); GUILayout.Label("Group Type", "label", GUILayout.Width(tableCellWidth)); GUILayout.Label("State", "label", GUILayout.Width(tableCellWidth)); GUILayout.Label("Command", "label", GUILayout.Width(tableCellWidth)); GUILayout.EndHorizontal(); _m_vScroll = GUILayout.BeginScrollView(_m_vScroll); foreach(ShipGroup shipGroup in m_liShipGroups) { if(shipGroup.m_eState == GROUPSTATE.Docked || shipGroup.m_eState == GROUPSTATE.Loading || shipGroup.m_eState == GROUPSTATE.Loaded || shipGroup.m_eState == GROUPSTATE.Launching) { GUILayout.BeginHorizontal("box1", GUILayout.Width(pColumnWidth)); GUILayout.Label(shipGroup.m_iID.ToString(), "label", GUILayout.Width(tableCellWidth)); GUILayout.Label(shipGroup.m_eType.ToString(), "label", GUILayout.Width(tableCellWidth)); GUILayout.Label(shipGroup.m_eState.ToString(), "label", GUILayout.Width(tableCellWidth)); float buttonWidth = tableCellWidth / 3; if(shipGroup.m_eState == GROUPSTATE.Loading) { GUILayout.Button("Loading..", "button", GUILayout.Width(buttonWidth)); GUILayout.Button("", "label", GUILayout.Width(buttonWidth)); } else if(shipGroup.m_eState == GROUPSTATE.Loaded) { if(GUILayout.Button("Launch", "button", GUILayout.Width(buttonWidth))) { LaunchGroup(shipGroup); } if(GUILayout.Button("Disperse", "button", GUILayout.Width(buttonWidth))) { } } else if(shipGroup.m_eState == GROUPSTATE.Launching) { GUILayout.Button("Launching..", "button", GUILayout.Width(buttonWidth)); GUILayout.Button("", "label", GUILayout.Width(buttonWidth)); } if(GUILayout.Button("Details", "button", GUILayout.Width(buttonWidth))) { _m_eWindowState = WINDOWSTATE.GroupDetails; _m_iSelectedGroupDetail = shipGroup.m_iID; } GUILayout.EndHorizontal(); } } GUILayout.EndScrollView(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); }