2018-12-13 14:49:57 +01:00
|
|
|
using System;
|
|
|
|
|
using Content.Shared.GameObjects.Components.Weapons.Ranged;
|
2019-04-15 21:11:38 -06:00
|
|
|
using Robust.Shared.Interfaces.Timing;
|
|
|
|
|
using Robust.Shared.IoC;
|
|
|
|
|
using Robust.Shared.Log;
|
|
|
|
|
using Robust.Shared.Map;
|
2018-12-13 14:49:57 +01:00
|
|
|
|
|
|
|
|
namespace Content.Client.GameObjects.Components.Weapons.Ranged
|
|
|
|
|
{
|
|
|
|
|
public sealed class ClientRangedWeaponComponent : SharedRangedWeaponComponent
|
|
|
|
|
{
|
|
|
|
|
private TimeSpan _lastFireTime;
|
|
|
|
|
private int _tick;
|
|
|
|
|
|
2019-01-18 11:40:30 +01:00
|
|
|
public void TryFire(GridCoordinates worldPos)
|
2018-12-13 14:49:57 +01:00
|
|
|
{
|
|
|
|
|
var curTime = IoCManager.Resolve<IGameTiming>().CurTime;
|
|
|
|
|
var span = curTime - _lastFireTime;
|
|
|
|
|
if (span.TotalSeconds < 1 / FireRate)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_lastFireTime = curTime;
|
|
|
|
|
SendNetworkMessage(new FireMessage(worldPos, _tick++));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|