Работа в процессе. Добавление файлов
This commit is contained in:
38
scripts/capsrpb.gd
Normal file
38
scripts/capsrpb.gd
Normal file
@@ -0,0 +1,38 @@
|
||||
extends Node
|
||||
|
||||
const ONLINE_TIMEOUT = 5.0 # Время ожидания пакета от ячейки, секунды
|
||||
const BUFFER_SIZE = 2048
|
||||
|
||||
|
||||
class CapsRpb:
|
||||
signal line_changed(unit: CapsRpb)
|
||||
signal command_done(unit: CapsRpb)
|
||||
signal command_fail(unit: CapsRpb)
|
||||
var online: = false
|
||||
var name: = String()
|
||||
var test_json_conv: JSON
|
||||
var tick: = 0.0
|
||||
var tick_rx: = 0.0
|
||||
|
||||
func _to_string() -> String: return String('капсрпб: "%s" %s ' % [self.name, ['отключен', 'на связи'][int(online)]])
|
||||
func _init(nm):
|
||||
test_json_conv = JSON.new()
|
||||
self.name = nm
|
||||
|
||||
|
||||
func parse(data):
|
||||
tick_rx = tick
|
||||
if not online:
|
||||
online = true
|
||||
emit_signal('line_changed', self)
|
||||
var utf8_data = data.get_string_from_utf8()
|
||||
test_json_conv.parse(utf8_data)
|
||||
var json = test_json_conv.get_data()
|
||||
print_debug(json)
|
||||
|
||||
|
||||
func process(delta: float):
|
||||
tick += delta
|
||||
if online and ((tick - tick_rx) > ONLINE_TIMEOUT):
|
||||
online = false
|
||||
emit_signal('line_changed', self)
|
||||
Reference in New Issue
Block a user