29 lines
589 B
GDScript3
Raw Normal View History

2024-01-20 22:18:58 +01:00
extends PacketHandler
2024-01-16 00:22:14 +01:00
signal changed(ping: float)
const HISTORY_SIZE = 8
var count := 0
var history: Array[float] = []
func _init():
history.resize(HISTORY_SIZE)
2024-01-29 23:16:06 +01:00
func handle_packet(data: PackedByteArray):
2024-01-25 12:10:29 +01:00
var id := data[0]
2024-02-28 12:14:27 +01:00
var ping := Time.get_unix_time_from_system() - history[id]
emit.call_deferred(ping)
func emit(ping: float):
2024-01-25 12:10:29 +01:00
changed.emit(ping)
2024-01-16 23:01:16 +01:00
func send_ping():
2024-01-16 00:22:14 +01:00
var buffer := StreamPeerBuffer.new()
2024-02-16 15:51:23 +01:00
buffer.put_u8(Packet.PING)
buffer.put_u8(count)
2024-01-26 19:00:59 +01:00
%Client.send(buffer.data_array)
2024-02-28 12:14:27 +01:00
history[count] = Time.get_unix_time_from_system()
2024-01-29 12:32:06 +01:00
count = (count + 1) % HISTORY_SIZE
2024-01-16 00:22:14 +01:00