class_name NetworkNode extends Node var handlers: Array[Node] = [] var download := 0 func _init(): handlers.resize(256) func get_handler(index: int) -> PacketHandler: return handlers[index] func set_handler(index: int, node: PacketHandler): handlers[index] = node func handle_packet(packet: PackedByteArray, peer: PacketPeer): var type := packet.decode_u8(0) var handler := get_handler(type) if handler == null: push_warning("Unknown packet type %d" % type) return handler.handle_packet(packet.slice(1), peer) download += packet.size()