extends Control var _textEdit; var Code; var _httpEntry = HTTPRequest.new(); var _httpButton = HTTPRequest.new(); var _httpLocation = HTTPRequest.new(); var _delivery; var _editX; var _editY; var _currentOrderId; var _delivering; var TT = Timer.new(); func FuckYou(): _delivering.hide(); func FuckYou2(s: String): if s.length() == 4: var req = "https://nairobi.ninja/bagel/verify/" + s _httpEntry.request(req) func FuckYou3(): if Code.length() == 4: var req = "https://nairobi.ninja/bagel/getpos/" + Code; _httpLocation.request(req); func FuckYou4(): if _editX.get_text().length() > 0 and _editY.get_text().length() > 0: var req = "https://nairobi.ninja/bagel/order/" + Code + "/" + str(_currentOrderId) + "/" + _editX.get_text() + "/" + _editY.get_text(); for bagelnode in get_tree().get_nodes_in_group("bagelbutton"): bagelnode.disabled = true; _httpButton.request(req); _delivery.hide(); func _ready(): add_child(_httpButton); add_child(_httpEntry); add_child(_httpLocation); _httpButton.request_completed.connect(OnRequestCompletedButton); _httpEntry.request_completed.connect(OnRequestCompletedEntry); _httpLocation.request_completed.connect(OnRequestCompletedLoc); _httpButton.set_timeout(2.0) _httpEntry.set_timeout(2.0) _httpLocation.set_timeout(2.0) _delivery = find_child("Delivery"); _editX = find_child("LineEditE"); _editY = find_child("LineEditS"); _textEdit = find_child("EnterCode"); _delivering = $"Delivering"; TT.set_wait_time(5.0); TT.set_one_shot(true) TT.timeout.connect(FuckYou) add_child(TT); Code = ""; _textEdit.text_changed.connect(FuckYou2); for bagelnode in get_tree().get_nodes_in_group("bagelbutton"): var id = bagelnode.get_meta("bagelid") var x = func(): if Code.length() == 4: _currentOrderId = id _delivery.show() bagelnode.pressed.connect(x) # find_child("SendBB").pressed.connect(FuckYou4) # $"PosSpyTimer".timeout.connect(FuckYou3) func _input(ev: InputEvent): if ev.is_action_released("esc"): Code = ""; $"OtherScreen".show(); $"MainScreen".hide(); $"PosSpy".hide(); func OnRequestCompletedLoc(result, responseCode, headers, body): var j = JSON.new(); var e = j.parse(body.get_string_from_utf8()); if e == OK: var x = float(j.data.x) var y = float(j.data.y) if x >= 0.0 or y >= 0.0: $"PosSpy/RichTextLabel".set_text("[center]Your location: (" + ("%.3f" % y) + "°S, " + ("%.3f" % x) + "°E)[/center]") else: $"PosSpy/RichTextLabel".set_text("[center]Your location: unreachable[/center]") else: $"PosSpy/RichTextLabel".set_text("[center]Connection lost[/center]") func OnRequestCompletedEntry(result, responseCode, headers, body): var res = body.get_string_from_utf8() if responseCode == 200 and res.length() == 4: Code = res; _textEdit.set_text("") $"OtherScreen".hide(); $"MainScreen".show(); $"PosSpy".show(); elif responseCode == 404: _textEdit.set_text("") _textEdit.set_placeholder("Invalid code") else: _textEdit.set_text("") _textEdit.set_placeholder("Server unreachable") func OnRequestCompletedButton(result, responseCode, headers, body): if responseCode == 200: for bagelnode in get_tree().get_nodes_in_group("bagelbutton"): bagelnode.disabled = false; _delivering.show(); TT.start(); else: $"OtherScreen".show(); $"MainScreen".hide(); $"PosSpy".hide(); Code = ""; _textEdit.placeholder_text = "Server unreachable";