private void OnBuy(EntityUid uid, UplinkComponent uplink, UplinkBuyListingMessage message) { var player = message.Session.AttachedEntity; if (player == null) { return; } if (uplink.UplinkAccount == null) { return; } if (!_accounts.TryPurchaseItem(uplink.UplinkAccount, message.ItemId, player.Transform.Coordinates, out var entity)) { SoundSystem.Play(Filter.SinglePlayer(message.Session), uplink.InsufficientFundsSound.GetSound(), uplink.Owner, AudioParams.Default); RaiseNetworkEvent(new UplinkInsufficientFundsMessage(), message.Session.ConnectedClient); return; } if (player.TryGetComponent(out HandsComponent? hands) && entity.TryGetComponent(out ItemComponent? item)) { hands.PutInHandOrDrop(item); } SoundSystem.Play(Filter.SinglePlayer(message.Session), uplink.BuySuccessSound.GetSound(), uplink.Owner, AudioParams.Default.WithVolume(-2f)); RaiseNetworkEvent(new UplinkBuySuccessMessage(), message.Session.ConnectedClient); }
private void OnBuy(EntityUid uid, UplinkComponent uplink, UplinkBuyListingMessage message) { if (message.Session.AttachedEntity is not { Valid: true } player) { return; } if (uplink.UplinkAccount == null) { return; } if (!_accounts.TryPurchaseItem(uplink.UplinkAccount, message.ItemId, EntityManager.GetComponent <TransformComponent>(player).Coordinates, out var entity)) { SoundSystem.Play(uplink.InsufficientFundsSound.GetSound(), Filter.SinglePlayer(message.Session), uplink.Owner, AudioParams.Default); RaiseNetworkEvent(new UplinkInsufficientFundsMessage(), message.Session.ConnectedClient); return; } _handsSystem.PickupOrDrop(player, entity.Value); SoundSystem.Play(uplink.BuySuccessSound.GetSound(), Filter.SinglePlayer(message.Session), uplink.Owner, AudioParams.Default.WithVolume(-8f)); RaiseNetworkEvent(new UplinkBuySuccessMessage(), message.Session.ConnectedClient); }