private void OnUIMessage(PDAComponent pda, ServerBoundUserInterfaceMessage msg) { // cast EntityUid? to EntityUid if (msg.Session.AttachedEntity is not { Valid: true } playerUid) { return; } switch (msg.Message) { case PDARequestUpdateInterfaceMessage _: UpdatePDAUserInterface(pda, playerUid); break; case PDAToggleFlashlightMessage _: { if (EntityManager.TryGetComponent(pda.Owner, out UnpoweredFlashlightComponent? flashlight)) { _unpoweredFlashlight.ToggleLight(flashlight); } break; } case PDAEjectIDMessage _: { ItemSlotsSystem.TryEjectToHands(pda.Owner, pda.IdSlot, playerUid); break; } case PDAEjectPenMessage _: { ItemSlotsSystem.TryEjectToHands(pda.Owner, pda.PenSlot, playerUid); break; } case PDAShowUplinkMessage _: { if (EntityManager.TryGetComponent(pda.Owner, out UplinkComponent? uplink)) { _uplinkSystem.ToggleUplinkUI(uplink, msg.Session); } break; } case PDAShowRingtoneMessage _: { if (EntityManager.TryGetComponent(pda.Owner, out RingerComponent? ringer)) { _ringerSystem.ToggleRingerUI(ringer, msg.Session); } break; } } }