Add Cooldown to raygun
This commit is contained in:
parent
d2f59a26fa
commit
4188656855
@ -655,6 +655,7 @@ MonoBehaviour:
|
|||||||
BulletHitLayer:
|
BulletHitLayer:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 512
|
m_Bits: 512
|
||||||
|
Cooldown: 1
|
||||||
Lerpables:
|
Lerpables:
|
||||||
- {fileID: 2566772175078312154}
|
- {fileID: 2566772175078312154}
|
||||||
- {fileID: 1798037817325599949}
|
- {fileID: 1798037817325599949}
|
||||||
|
@ -12,7 +12,7 @@ namespace NeonTea.Quakeball.Networking.Instances {
|
|||||||
|
|
||||||
private NetChaperone Net;
|
private NetChaperone Net;
|
||||||
|
|
||||||
private Dictionary<ulong, NetPlayer> Players = new Dictionary<ulong, NetPlayer>();
|
public Dictionary<ulong, NetPlayer> Players { get; private set; } = new Dictionary<ulong, NetPlayer>();
|
||||||
public List<NetPlayer> PlayerList { get; private set; } = new List<NetPlayer>();
|
public List<NetPlayer> PlayerList { get; private set; } = new List<NetPlayer>();
|
||||||
private ulong PlayerIdCounter;
|
private ulong PlayerIdCounter;
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ namespace NeonTea.Quakeball.Players {
|
|||||||
public Transform CameraRoot;
|
public Transform CameraRoot;
|
||||||
public Transform BulletSourcePoint;
|
public Transform BulletSourcePoint;
|
||||||
public LayerMask BulletHitLayer;
|
public LayerMask BulletHitLayer;
|
||||||
|
public float Cooldown;
|
||||||
|
|
||||||
[Header("Visuals")]
|
[Header("Visuals")]
|
||||||
public DesyncLerper[] Lerpables;
|
public DesyncLerper[] Lerpables;
|
||||||
@ -87,6 +88,8 @@ namespace NeonTea.Quakeball.Players {
|
|||||||
private CharacterController CharacterController;
|
private CharacterController CharacterController;
|
||||||
private Vector3 FeetPosition;
|
private Vector3 FeetPosition;
|
||||||
|
|
||||||
|
private float LastShot;
|
||||||
|
|
||||||
/// <summary>Creates a PlayerUpdatePckt representing this Player's current status, for sending to other peers.</summary>
|
/// <summary>Creates a PlayerUpdatePckt representing this Player's current status, for sending to other peers.</summary>
|
||||||
public PlayerUpdatePckt CreateUpdatePacket(ulong id = 0) {
|
public PlayerUpdatePckt CreateUpdatePacket(ulong id = 0) {
|
||||||
return new PlayerUpdatePckt(MoveDirection, CurrentMoveStyle, Pitch, Yaw, id);
|
return new PlayerUpdatePckt(MoveDirection, CurrentMoveStyle, Pitch, Yaw, id);
|
||||||
@ -154,6 +157,15 @@ namespace NeonTea.Quakeball.Players {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void Shoot() {
|
public void Shoot() {
|
||||||
|
float delta = Time.time - LastShot;
|
||||||
|
if (Net.Singleton.Instance is Server) {
|
||||||
|
float ping = ((Server)Net.Singleton.Instance).Players[NetId].Ping;
|
||||||
|
delta += ping;
|
||||||
|
}
|
||||||
|
if (delta < Cooldown) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LastShot = Time.time;
|
||||||
Vector3 GunPoint = BulletSourcePoint.position;
|
Vector3 GunPoint = BulletSourcePoint.position;
|
||||||
Vector3 ShotDelta = CameraRoot.forward * 1000f;
|
Vector3 ShotDelta = CameraRoot.forward * 1000f;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user