Доработка. Добавлена поддержка сообщений типа 6,7,8.
This commit is contained in:
41
main.gd
41
main.gd
@@ -13,7 +13,8 @@ func _ready():
|
||||
sock.bind(Consts.MAIN_ADDR[1], Consts.MAIN_ADDR[0])
|
||||
sock.set_dest_address(Consts.DST_ADDR[0], Consts.DST_ADDR[1])
|
||||
Threats.init_treats(table_threads, btn_add_threads, btn_del_threads, btn_save_threads)
|
||||
Pomehi.init_pomehi(table_pomehi)
|
||||
Interfers.init_pomehi(table_pomehi)
|
||||
fs.init_fs($tabs/pomehi, $tabs/pomehi/fs_rect)
|
||||
var timer = Timer.new()
|
||||
timer.connect('timeout', Callable(self, 'on_timeout').bind())
|
||||
add_child(timer) #to process
|
||||
@@ -24,6 +25,40 @@ func on_timeout():
|
||||
sock.put_packet(Threats.get_threats_data())
|
||||
|
||||
|
||||
func on_receive(data):
|
||||
var json_conv: = JSON.new()
|
||||
var utf8_data = data.get_string_from_utf8()
|
||||
if Error.OK == json_conv.parse(utf8_data):
|
||||
var json_data = json_conv.get_data()
|
||||
if not (json_data is Dictionary): return
|
||||
if not json_data.has('ts'): return
|
||||
if not ((json_data['ts'] is int) or (json_data['ts'] is float)): return
|
||||
if json_data['ts'] == 6:
|
||||
if not json_data.has('ispp'): return
|
||||
if not ((json_data['ispp'] is int) or (json_data['ispp'] is float)): return
|
||||
if not json_data.has('ss'): return
|
||||
if not ((json_data['ss'] is int) or (json_data['ss'] is float)): return
|
||||
if not json_data.has('krp'): return
|
||||
if not json_data.has('powp'): return
|
||||
if not json_data.has('kni'): return
|
||||
if not json_data.has('params'): return
|
||||
if not json_data.has('get'): return
|
||||
Interfers.set_interfer(json_data)
|
||||
sock.put_packet(Interfers.get_msg7_data())
|
||||
elif json_data['ts'] == 8:
|
||||
fs.on_receive_msg8(json_data)
|
||||
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
#func _process(delta):
|
||||
# pass
|
||||
func _process(delta):
|
||||
while sock.get_available_packet_count() > 0:
|
||||
var data: = sock.get_packet()
|
||||
var addr: = sock.get_packet_ip()
|
||||
var port: = sock.get_packet_port()
|
||||
var addr_port: = [addr, port]
|
||||
on_receive(data)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user