add lock uplink button (#15994)
Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
@@ -55,11 +55,6 @@ namespace Content.Client.PDA
|
||||
SendMessage(new ItemSlotButtonPressedEvent(PDAComponent.PDAPenSlotId));
|
||||
};
|
||||
|
||||
_menu.ActivateUplinkButton.OnPressed += _ =>
|
||||
{
|
||||
SendMessage(new PDAShowUplinkMessage());
|
||||
};
|
||||
|
||||
_menu.ActivateMusicButton.OnPressed += _ =>
|
||||
{
|
||||
SendMessage(new PDAShowMusicMessage());
|
||||
@@ -70,6 +65,16 @@ namespace Content.Client.PDA
|
||||
SendMessage(new PDAShowRingtoneMessage());
|
||||
};
|
||||
|
||||
_menu.ShowUplinkButton.OnPressed += _ =>
|
||||
{
|
||||
SendMessage(new PDAShowUplinkMessage());
|
||||
};
|
||||
|
||||
_menu.LockUplinkButton.OnPressed += _ =>
|
||||
{
|
||||
SendMessage(new PDALockUplinkMessage());
|
||||
};
|
||||
|
||||
_menu.OnProgramItemPressed += ActivateCartridge;
|
||||
_menu.OnInstallButtonPressed += InstallCartridge;
|
||||
_menu.OnUninstallButtonPressed += UninstallCartridge;
|
||||
|
||||
@@ -62,14 +62,18 @@
|
||||
Text="{Loc 'crew-manifest-button-label'}"
|
||||
Description="{Loc 'crew-manifest-button-description'}"
|
||||
Visible="False" />
|
||||
<pda:PDASettingsButton Name="ActivateUplinkButton"
|
||||
Access="Public"
|
||||
Text="{Loc 'pda-bound-user-interface-uplink-tab-title'}"
|
||||
Description="{Loc 'pda-bound-user-interface-uplink-tab-description'}"/>
|
||||
<pda:PDASettingsButton Name="ActivateMusicButton"
|
||||
Access="Public"
|
||||
Text="{Loc 'pda-bound-user-interface-music-button'}"
|
||||
Description="{Loc 'pda-bound-user-interface-music-button-description'}"/>
|
||||
<pda:PDASettingsButton Name="ShowUplinkButton"
|
||||
Access="Public"
|
||||
Text="{Loc 'pda-bound-user-interface-show-uplink-title'}"
|
||||
Description="{Loc 'pda-bound-user-interface-show-uplink-description'}"/>
|
||||
<pda:PDASettingsButton Name="LockUplinkButton"
|
||||
Access="Public"
|
||||
Text="{Loc 'pda-bound-user-interface-lock-uplink-title'}"
|
||||
Description="{Loc 'pda-bound-user-interface-lock-uplink-description'}"/>
|
||||
</BoxContainer>
|
||||
</ScrollContainer>
|
||||
<BoxContainer Orientation="Vertical"
|
||||
|
||||
@@ -106,8 +106,9 @@ namespace Content.Client.PDA
|
||||
|
||||
EjectIdButton.IsActive = state.PDAOwnerInfo.IdOwner != null || state.PDAOwnerInfo.JobTitle != null;
|
||||
EjectPenButton.IsActive = state.HasPen;
|
||||
ActivateUplinkButton.Visible = state.HasUplink;
|
||||
ActivateMusicButton.Visible = state.CanPlayMusic;
|
||||
ShowUplinkButton.Visible = state.HasUplink;
|
||||
LockUplinkButton.Visible = state.HasUplink;
|
||||
}
|
||||
|
||||
public void UpdateAvailablePrograms(List<(EntityUid, CartridgeComponent)> programs)
|
||||
|
||||
@@ -137,6 +137,15 @@ namespace Content.Server.PDA
|
||||
_store.ToggleUi(msg.Session.AttachedEntity!.Value, uid, store);
|
||||
break;
|
||||
}
|
||||
case PDALockUplinkMessage _:
|
||||
{
|
||||
if (TryComp<RingerUplinkComponent>(uid, out var uplink))
|
||||
{
|
||||
_ringer.LockUplink(uid, uplink);
|
||||
UpdatePdaUi(uid, pda);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -79,6 +79,21 @@ namespace Content.Server.PDA.Ringer
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Locks the uplink and closes the window, if its open
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Will not update the PDA ui so you must do that yourself if needed
|
||||
/// </remarks>
|
||||
public void LockUplink(EntityUid uid, RingerUplinkComponent? uplink)
|
||||
{
|
||||
if (!Resolve(uid, ref uplink, true))
|
||||
return;
|
||||
|
||||
uplink.Unlocked = false;
|
||||
_ui.TryCloseAll(uid, StoreUiKey.Key);
|
||||
}
|
||||
|
||||
public void RandomizeRingtone(EntityUid uid, RingerComponent ringer, MapInitEvent args)
|
||||
{
|
||||
UpdateRingerRingtone(ringer, GenerateRingtone());
|
||||
|
||||
@@ -1,49 +1,39 @@
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.PDA
|
||||
namespace Content.Shared.PDA;
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAToggleFlashlightMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAToggleFlashlightMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDAToggleFlashlightMessage()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAShowRingtoneMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDAShowRingtoneMessage()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAShowUplinkMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDAShowUplinkMessage()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAShowMusicMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDAShowMusicMessage()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDARequestUpdateInterfaceMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDARequestUpdateInterfaceMessage()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
public PDAToggleFlashlightMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAShowRingtoneMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDAShowRingtoneMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAShowUplinkMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDAShowUplinkMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDALockUplinkMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDALockUplinkMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDAShowMusicMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDAShowMusicMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class PDARequestUpdateInterfaceMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public PDARequestUpdateInterfaceMessage() { }
|
||||
}
|
||||
|
||||
@@ -16,9 +16,11 @@ comp-pda-io-program-fallback-title = Program
|
||||
|
||||
comp-pda-io-no-programs-available = No Programs Available
|
||||
|
||||
pda-bound-user-interface-uplink-tab-title = Uplink
|
||||
pda-bound-user-interface-show-uplink-title = Open Uplink
|
||||
pda-bound-user-interface-show-uplink-description = Access your uplink
|
||||
|
||||
pda-bound-user-interface-uplink-tab-description = Access your uplink
|
||||
pda-bound-user-interface-lock-uplink-title = Lock Uplink
|
||||
pda-bound-user-interface-lock-uplink-description = Prevent anyone from accessing your uplink without the code
|
||||
|
||||
comp-pda-ui-menu-title = PDA
|
||||
|
||||
|
||||
Reference in New Issue
Block a user