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));
|
SendMessage(new ItemSlotButtonPressedEvent(PDAComponent.PDAPenSlotId));
|
||||||
};
|
};
|
||||||
|
|
||||||
_menu.ActivateUplinkButton.OnPressed += _ =>
|
|
||||||
{
|
|
||||||
SendMessage(new PDAShowUplinkMessage());
|
|
||||||
};
|
|
||||||
|
|
||||||
_menu.ActivateMusicButton.OnPressed += _ =>
|
_menu.ActivateMusicButton.OnPressed += _ =>
|
||||||
{
|
{
|
||||||
SendMessage(new PDAShowMusicMessage());
|
SendMessage(new PDAShowMusicMessage());
|
||||||
@@ -70,6 +65,16 @@ namespace Content.Client.PDA
|
|||||||
SendMessage(new PDAShowRingtoneMessage());
|
SendMessage(new PDAShowRingtoneMessage());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_menu.ShowUplinkButton.OnPressed += _ =>
|
||||||
|
{
|
||||||
|
SendMessage(new PDAShowUplinkMessage());
|
||||||
|
};
|
||||||
|
|
||||||
|
_menu.LockUplinkButton.OnPressed += _ =>
|
||||||
|
{
|
||||||
|
SendMessage(new PDALockUplinkMessage());
|
||||||
|
};
|
||||||
|
|
||||||
_menu.OnProgramItemPressed += ActivateCartridge;
|
_menu.OnProgramItemPressed += ActivateCartridge;
|
||||||
_menu.OnInstallButtonPressed += InstallCartridge;
|
_menu.OnInstallButtonPressed += InstallCartridge;
|
||||||
_menu.OnUninstallButtonPressed += UninstallCartridge;
|
_menu.OnUninstallButtonPressed += UninstallCartridge;
|
||||||
|
|||||||
@@ -62,14 +62,18 @@
|
|||||||
Text="{Loc 'crew-manifest-button-label'}"
|
Text="{Loc 'crew-manifest-button-label'}"
|
||||||
Description="{Loc 'crew-manifest-button-description'}"
|
Description="{Loc 'crew-manifest-button-description'}"
|
||||||
Visible="False" />
|
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"
|
<pda:PDASettingsButton Name="ActivateMusicButton"
|
||||||
Access="Public"
|
Access="Public"
|
||||||
Text="{Loc 'pda-bound-user-interface-music-button'}"
|
Text="{Loc 'pda-bound-user-interface-music-button'}"
|
||||||
Description="{Loc 'pda-bound-user-interface-music-button-description'}"/>
|
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>
|
</BoxContainer>
|
||||||
</ScrollContainer>
|
</ScrollContainer>
|
||||||
<BoxContainer Orientation="Vertical"
|
<BoxContainer Orientation="Vertical"
|
||||||
|
|||||||
@@ -106,8 +106,9 @@ namespace Content.Client.PDA
|
|||||||
|
|
||||||
EjectIdButton.IsActive = state.PDAOwnerInfo.IdOwner != null || state.PDAOwnerInfo.JobTitle != null;
|
EjectIdButton.IsActive = state.PDAOwnerInfo.IdOwner != null || state.PDAOwnerInfo.JobTitle != null;
|
||||||
EjectPenButton.IsActive = state.HasPen;
|
EjectPenButton.IsActive = state.HasPen;
|
||||||
ActivateUplinkButton.Visible = state.HasUplink;
|
|
||||||
ActivateMusicButton.Visible = state.CanPlayMusic;
|
ActivateMusicButton.Visible = state.CanPlayMusic;
|
||||||
|
ShowUplinkButton.Visible = state.HasUplink;
|
||||||
|
LockUplinkButton.Visible = state.HasUplink;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateAvailablePrograms(List<(EntityUid, CartridgeComponent)> programs)
|
public void UpdateAvailablePrograms(List<(EntityUid, CartridgeComponent)> programs)
|
||||||
|
|||||||
@@ -137,6 +137,15 @@ namespace Content.Server.PDA
|
|||||||
_store.ToggleUi(msg.Session.AttachedEntity!.Value, uid, store);
|
_store.ToggleUi(msg.Session.AttachedEntity!.Value, uid, store);
|
||||||
break;
|
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)
|
public void RandomizeRingtone(EntityUid uid, RingerComponent ringer, MapInitEvent args)
|
||||||
{
|
{
|
||||||
UpdateRingerRingtone(ringer, GenerateRingtone());
|
UpdateRingerRingtone(ringer, GenerateRingtone());
|
||||||
|
|||||||
@@ -1,49 +1,39 @@
|
|||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
|
|
||||||
namespace Content.Shared.PDA
|
namespace Content.Shared.PDA;
|
||||||
{
|
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public sealed class PDAToggleFlashlightMessage : BoundUserInterfaceMessage
|
public sealed class PDAToggleFlashlightMessage : BoundUserInterfaceMessage
|
||||||
{
|
{
|
||||||
public PDAToggleFlashlightMessage()
|
public PDAToggleFlashlightMessage() { }
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public sealed class PDAShowRingtoneMessage : BoundUserInterfaceMessage
|
public sealed class PDAShowRingtoneMessage : BoundUserInterfaceMessage
|
||||||
{
|
{
|
||||||
public PDAShowRingtoneMessage()
|
public PDAShowRingtoneMessage() { }
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public sealed class PDAShowUplinkMessage : BoundUserInterfaceMessage
|
public sealed class PDAShowUplinkMessage : BoundUserInterfaceMessage
|
||||||
{
|
{
|
||||||
public PDAShowUplinkMessage()
|
public PDAShowUplinkMessage() { }
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Serializable, NetSerializable]
|
||||||
|
public sealed class PDALockUplinkMessage : BoundUserInterfaceMessage
|
||||||
|
{
|
||||||
|
public PDALockUplinkMessage() { }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public sealed class PDAShowMusicMessage : BoundUserInterfaceMessage
|
public sealed class PDAShowMusicMessage : BoundUserInterfaceMessage
|
||||||
{
|
{
|
||||||
public PDAShowMusicMessage()
|
public PDAShowMusicMessage() { }
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public sealed class PDARequestUpdateInterfaceMessage : BoundUserInterfaceMessage
|
public sealed class PDARequestUpdateInterfaceMessage : BoundUserInterfaceMessage
|
||||||
{
|
{
|
||||||
public PDARequestUpdateInterfaceMessage()
|
public PDARequestUpdateInterfaceMessage() { }
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,9 +16,11 @@ comp-pda-io-program-fallback-title = Program
|
|||||||
|
|
||||||
comp-pda-io-no-programs-available = No Programs Available
|
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
|
comp-pda-ui-menu-title = PDA
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user