diff --git a/Content.Client/PDA/PdaMenu.xaml b/Content.Client/PDA/PdaMenu.xaml index 7ba72ea7f1..8b26860332 100644 --- a/Content.Client/PDA/PdaMenu.xaml +++ b/Content.Client/PDA/PdaMenu.xaml @@ -28,20 +28,24 @@ HorizontalExpand="True" MinSize="50 50" Margin="8"> - - - - - - - - - - + + + + + + + + + + + + + + + + + + ? OnProgramItemPressed; @@ -84,6 +94,39 @@ namespace Content.Client.PDA ToHomeScreen(); }; + PdaOwnerButton.OnPressed += _ => + { + _clipboard.SetText(_pdaOwner); + }; + + IdInfoButton.OnPressed += _ => + { + _clipboard.SetText(_owner + ", " + _jobTitle); + }; + + StationNameButton.OnPressed += _ => + { + _clipboard.SetText(_stationName); + }; + + StationAlertLevelButton.OnPressed += _ => + { + _clipboard.SetText(_alertLevel); + }; + + StationTimeButton.OnPressed += _ => + { + var stationTime = _gameTiming.CurTime.Subtract(_gameTicker.RoundStartTimeSpan); + _clipboard.SetText((stationTime.ToString("hh\\:mm\\:ss"))); + }; + + StationAlertLevelInstructionsButton.OnPressed += _ => + { + _clipboard.SetText(_instructions); + }; + + + HideAllViews(); ToHomeScreen(); @@ -95,24 +138,29 @@ namespace Content.Client.PDA if (state.PdaOwnerInfo.ActualOwnerName != null) { + _pdaOwner = state.PdaOwnerInfo.ActualOwnerName; PdaOwnerLabel.SetMarkup(Loc.GetString("comp-pda-ui-owner", - ("actualOwnerName", state.PdaOwnerInfo.ActualOwnerName))); + ("actualOwnerName", _pdaOwner))); } if (state.PdaOwnerInfo.IdOwner != null || state.PdaOwnerInfo.JobTitle != null) { + _owner = state.PdaOwnerInfo.IdOwner ?? Loc.GetString("comp-pda-ui-unknown"); + _jobTitle = state.PdaOwnerInfo.JobTitle ?? Loc.GetString("comp-pda-ui-unassigned"); IdInfoLabel.SetMarkup(Loc.GetString("comp-pda-ui", - ("owner", state.PdaOwnerInfo.IdOwner ?? Loc.GetString("comp-pda-ui-unknown")), - ("jobTitle", state.PdaOwnerInfo.JobTitle ?? Loc.GetString("comp-pda-ui-unassigned")))); + ("owner", _owner), + ("jobTitle", _jobTitle))); } else { IdInfoLabel.SetMarkup(Loc.GetString("comp-pda-ui-blank")); } + _stationName = state.StationName ?? Loc.GetString("comp-pda-ui-unknown"); StationNameLabel.SetMarkup(Loc.GetString("comp-pda-ui-station", - ("station", state.StationName ?? Loc.GetString("comp-pda-ui-unknown")))); + ("station", _stationName))); + var stationTime = _gameTiming.CurTime.Subtract(_gameTicker.RoundStartTimeSpan); @@ -122,16 +170,17 @@ namespace Content.Client.PDA var alertLevel = state.PdaOwnerInfo.StationAlertLevel; var alertColor = state.PdaOwnerInfo.StationAlertColor; var alertLevelKey = alertLevel != null ? $"alert-level-{alertLevel}" : "alert-level-unknown"; + _alertLevel = Loc.GetString(alertLevelKey); StationAlertLevelLabel.SetMarkup(Loc.GetString( "comp-pda-ui-station-alert-level", ("color", alertColor), - ("level", Loc.GetString(alertLevelKey)) + ("level", _alertLevel) )); - + _instructions = Loc.GetString($"{alertLevelKey}-instructions"); StationAlertLevelInstructions.SetMarkup(Loc.GetString( "comp-pda-ui-station-alert-level-instructions", - ("instructions", Loc.GetString($"{alertLevelKey}-instructions"))) + ("instructions", _instructions)) ); AddressLabel.Text = state.Address?.ToUpper() ?? " - ";