private void DrawSubspaces() { _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, ScrollStyle); for (var i = 0; i < SubspaceDisplay.Count; i++) { GUILayout.BeginVertical(BoxStyle); GUILayout.BeginHorizontal(_subspaceStyle); if (SubspaceDisplay[i].SubspaceId == -1) { GUILayout.Label(StatusTexts.WarpingLabelTxt); } else { GUILayout.Label(StatusTexts.GetTimeLabel(SubspaceDisplay[i])); GUILayout.FlexibleSpace(); if (NotWarpingAndIsFutureSubspace(SubspaceDisplay[i].SubspaceId) && GUILayout.Button(SyncIcon, ButtonStyle)) { WarpSystem.Singleton.SyncToSubspace(SubspaceDisplay[i].SubspaceId); } } GUILayout.EndHorizontal(); for (var j = 0; j < SubspaceDisplay[i].Players.Count; j++) { DrawPlayerEntry(StatusSystem.Singleton.GetPlayerStatus(SubspaceDisplay[i].Players[j])); } GUILayout.EndVertical(); } GUILayout.EndScrollView(); }
private static void DrawPlayerEntry(PlayerStatus playerStatus) { if (playerStatus == null) { return; } GUILayout.BeginHorizontal(); if (!_playerNameStyle.ContainsKey(playerStatus.PlayerName)) { _playerNameStyle[playerStatus.PlayerName] = new GUIStyle(GUI.skin.label) { normal = { textColor = PlayerColorSystem.Singleton.GetPlayerColor(playerStatus.PlayerName) }, hover = { textColor = PlayerColorSystem.Singleton.GetPlayerColor(playerStatus.PlayerName) }, active = { textColor = PlayerColorSystem.Singleton.GetPlayerColor(playerStatus.PlayerName) }, fontStyle = FontStyle.Bold, stretchWidth = true, wordWrap = false }; } GUILayout.Label(playerStatus.PlayerName, _playerNameStyle[playerStatus.PlayerName]); GUILayout.FlexibleSpace(); GUILayout.Label(playerStatus.StatusText, _stateTextStyle); GUILayout.Label(string.IsNullOrEmpty(playerStatus.VesselText) ? string.Empty : StatusTexts.GetPlayerText(playerStatus), _vesselNameStyle); GUILayout.EndHorizontal(); }
public override void DrawWindowContent(int windowId) { GUILayout.BeginVertical(); GUI.DragWindow(MoveRect); #region Horizontal toolbar GUILayout.BeginHorizontal(); ChatWindow.Singleton.Display = GUILayout.Toggle(ChatWindow.Singleton.Display, ChatSystem.Singleton.NewMessageReceived ? ChatRedIcon : ChatIcon, ButtonStyle); CraftLibraryWindow.Singleton.Display = GUILayout.Toggle(CraftLibraryWindow.Singleton.Display, CraftLibrarySystem.Singleton.NewContent ? RocketRedIcon : RocketIcon, ButtonStyle); ScreenshotsWindow.Singleton.Display = GUILayout.Toggle(ScreenshotsWindow.Singleton.Display, ScreenshotSystem.Singleton.NewContent ? CameraRedIcon : CameraIcon, ButtonStyle); if (SettingsSystem.ServerSettings.AllowAdmin) { AdminWindow.Singleton.Display = GUILayout.Toggle(AdminWindow.Singleton.Display, AdminIcon, ButtonStyle); } GUILayout.EndHorizontal(); #endregion #region Players information _scrollPosition = GUILayout.BeginScrollView(_scrollPosition, ScrollStyle); for (var i = 0; i < SubspaceDisplay.Count; i++) { GUILayout.BeginHorizontal(_subspaceStyle); if (SubspaceDisplay[i].SubspaceId == -1) { GUILayout.Label(StatusTexts.WarpingLabelTxt); } else { GUILayout.Label(StatusTexts.GetTimeLabel(SubspaceDisplay[i])); GUILayout.FlexibleSpace(); if (NotWarpingAndIsFutureSubspace(SubspaceDisplay[i].SubspaceId) && GUILayout.Button(SyncIcon, ButtonStyle)) { WarpSystem.CurrentSubspace = SubspaceDisplay[i].SubspaceId; } } GUILayout.EndHorizontal(); for (var j = 0; j < SubspaceDisplay[i].Players.Count; j++) { DrawPlayerEntry(StatusSystem.Singleton.GetPlayerStatus(SubspaceDisplay[i].Players[j])); } } GUILayout.EndScrollView(); #endregion GUILayout.FlexibleSpace(); #if DEBUG DrawDebugSection(); #endif GUILayout.BeginHorizontal(); if (GUILayout.Button(DisconnectIcon, ButtonStyle)) { MainSystem.Singleton.DisconnectFromGame(); } OptionsWindow.Singleton.Display = GUILayout.Toggle(OptionsWindow.Singleton.Display, SettingsIcon, ButtonStyle); GUILayout.EndHorizontal(); GUILayout.EndVertical(); }
public void DrawContent(int windowId) { GUILayout.BeginVertical(); GUI.DragWindow(MoveRect); #region Horizontal toolbar GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); var chatButtonStyle = ButtonStyle; if (SystemsContainer.Get <ChatSystem>().ChatButtonHighlighted) { chatButtonStyle = HighlightStyle; } if (!SettingsSystem.ServerSettings.DropControlOnVesselSwitching) { if (GUILayout.Button(new GUIContent(StatusTexts.DropCtrlBtnTxt, StatusTexts.DropCtrlBtnTooltip), ButtonStyle)) { SystemsContainer.Get <VesselLockSystem>().DropAllOtherVesselControlLocks(); } } WindowsContainer.Get <ChatWindow>().Display = GUILayout.Toggle(WindowsContainer.Get <ChatWindow>().Display, StatusTexts.ChatBtnTxt, chatButtonStyle); WindowsContainer.Get <CraftLibraryWindow>().Display = GUILayout.Toggle(WindowsContainer.Get <CraftLibraryWindow>().Display, StatusTexts.CraftBtnTxt, ButtonStyle); WindowsContainer.Get <DebugWindow>().Display = GUILayout.Toggle(WindowsContainer.Get <DebugWindow>().Display, StatusTexts.DebugBtnTxt, ButtonStyle); #if DEBUG WindowsContainer.Get <SystemsWindow>().Display = GUILayout.Toggle(WindowsContainer.Get <SystemsWindow>().Display, StatusTexts.SystemsBtnTxt, ButtonStyle); WindowsContainer.Get <LocksWindow>().Display = GUILayout.Toggle(WindowsContainer.Get <LocksWindow>().Display, StatusTexts.LocksBtnTxt, ButtonStyle); #endif GUILayout.EndHorizontal(); #endregion #region Players information ScrollPosition = GUILayout.BeginScrollView(ScrollPosition, ScrollStyle); //Draw other subspaces for (var i = 0; i < SubspaceDisplay.Count; i++) { if (SubspaceDisplay[i].SubspaceId == -1) { //Draw the warping players GUILayout.BeginHorizontal(SubspaceStyle); GUILayout.Label(StatusTexts.WarpingLabelTxt); GUILayout.EndHorizontal(); } else { GUILayout.BeginHorizontal(SubspaceStyle); GUILayout.Label(StatusTexts.GetTimeLabel(SubspaceDisplay[i])); GUILayout.FlexibleSpace(); if (NotWarpingAndIsFutureSubspace(SubspaceDisplay[i].SubspaceId) && GUILayout.Button(StatusTexts.SyncBtnTxt, ButtonStyle)) { WarpSystem.CurrentSubspace = SubspaceDisplay[i].SubspaceId; } GUILayout.EndHorizontal(); } for (var j = 0; j < SubspaceDisplay[i].Players.Count; j++) { DrawPlayerEntry(SubspaceDisplay[i].Players[j] == SettingsSystem.CurrentSettings.PlayerName ? SystemsContainer.Get <StatusSystem>().MyPlayerStatus : SystemsContainer.Get <StatusSystem>().GetPlayerStatus(SubspaceDisplay[i].Players[j])); } } GUILayout.EndScrollView(); #endregion GUILayout.FlexibleSpace(); #if DEBUG GUILayout.BeginHorizontal(); DrawDebugSwitches(); GUILayout.EndHorizontal(); #endif GUILayout.BeginHorizontal(); if (GUILayout.Button(StatusTexts.DisconnectBtnTxt, ButtonStyle)) { DisconnectEventHandled = false; } WindowsContainer.Get <OptionsWindow>().Display = GUILayout.Toggle(WindowsContainer.Get <OptionsWindow>().Display, StatusTexts.OptionsBtnTxt, ButtonStyle); GUILayout.EndHorizontal(); GUILayout.EndVertical(); }