Bagelicious.gd 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. extends Control
  2. var _textEdit;
  3. var Code;
  4. var _httpEntry = HTTPRequest.new();
  5. var _httpButton = HTTPRequest.new();
  6. var _httpLocation = HTTPRequest.new();
  7. var _delivery;
  8. var _editX;
  9. var _editY;
  10. var _currentOrderId;
  11. var _delivering;
  12. var TT = Timer.new();
  13. func FuckYou():
  14. _delivering.hide();
  15. func FuckYou2(s: String):
  16. if s.length() == 4:
  17. var req = "https://nairobi.ninja/bagel/verify/" + s
  18. _httpEntry.request(req)
  19. func FuckYou3():
  20. if Code.length() == 4:
  21. var req = "https://nairobi.ninja/bagel/getpos/" + Code;
  22. _httpLocation.request(req);
  23. func FuckYou4():
  24. if _editX.get_text().length() > 0 and _editY.get_text().length() > 0:
  25. var req = "https://nairobi.ninja/bagel/order/" + Code + "/" + str(_currentOrderId) + "/" + _editX.get_text() + "/" + _editY.get_text();
  26. for bagelnode in get_tree().get_nodes_in_group("bagelbutton"):
  27. bagelnode.disabled = true;
  28. _httpButton.request(req);
  29. _delivery.hide();
  30. func _ready():
  31. add_child(_httpButton);
  32. add_child(_httpEntry);
  33. add_child(_httpLocation);
  34. _httpButton.request_completed.connect(OnRequestCompletedButton);
  35. _httpEntry.request_completed.connect(OnRequestCompletedEntry);
  36. _httpLocation.request_completed.connect(OnRequestCompletedLoc);
  37. _httpButton.set_timeout(2.0)
  38. _httpEntry.set_timeout(2.0)
  39. _httpLocation.set_timeout(2.0)
  40. _delivery = find_child("Delivery");
  41. _editX = find_child("LineEditE");
  42. _editY = find_child("LineEditS");
  43. _textEdit = find_child("EnterCode");
  44. _delivering = $"Delivering";
  45. TT.set_wait_time(5.0);
  46. TT.set_one_shot(true)
  47. TT.timeout.connect(FuckYou)
  48. add_child(TT);
  49. Code = "";
  50. _textEdit.text_changed.connect(FuckYou2);
  51. for bagelnode in get_tree().get_nodes_in_group("bagelbutton"):
  52. var id = bagelnode.get_meta("bagelid")
  53. var x = func():
  54. if Code.length() == 4:
  55. _currentOrderId = id
  56. _delivery.show()
  57. bagelnode.pressed.connect(x)
  58. #
  59. find_child("SendBB").pressed.connect(FuckYou4)
  60. #
  61. $"PosSpyTimer".timeout.connect(FuckYou3)
  62. func _input(ev: InputEvent):
  63. if ev.is_action_released("esc"):
  64. Code = "";
  65. $"OtherScreen".show();
  66. $"MainScreen".hide();
  67. $"PosSpy".hide();
  68. func OnRequestCompletedLoc(result, responseCode, headers, body):
  69. var j = JSON.new();
  70. var e = j.parse(body.get_string_from_utf8());
  71. if e == OK:
  72. var x = float(j.data.x)
  73. var y = float(j.data.y)
  74. if x >= 0.0 or y >= 0.0:
  75. $"PosSpy/RichTextLabel".set_text("[center]Your location: (" + ("%.3f" % y) + "°S, " + ("%.3f" % x) + "°E)[/center]")
  76. else:
  77. $"PosSpy/RichTextLabel".set_text("[center]Your location: unreachable[/center]")
  78. else:
  79. $"PosSpy/RichTextLabel".set_text("[center]Connection lost[/center]")
  80. func OnRequestCompletedEntry(result, responseCode, headers, body):
  81. var res = body.get_string_from_utf8()
  82. if responseCode == 200 and res.length() == 4:
  83. Code = res;
  84. _textEdit.set_text("")
  85. $"OtherScreen".hide();
  86. $"MainScreen".show();
  87. $"PosSpy".show();
  88. elif responseCode == 404:
  89. _textEdit.set_text("")
  90. _textEdit.set_placeholder("Invalid code")
  91. else:
  92. _textEdit.set_text("")
  93. _textEdit.set_placeholder("Server unreachable")
  94. func OnRequestCompletedButton(result, responseCode, headers, body):
  95. if responseCode == 200:
  96. for bagelnode in get_tree().get_nodes_in_group("bagelbutton"):
  97. bagelnode.disabled = false;
  98. _delivering.show();
  99. TT.start();
  100. else:
  101. $"OtherScreen".show();
  102. $"MainScreen".hide();
  103. $"PosSpy".hide();
  104. Code = "";
  105. _textEdit.placeholder_text = "Server unreachable";