Login.gd 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. extends Node
  2. var client = preload('res://Client.tscn')
  3. var server = preload('res://Server.tscn')
  4. var auth = preload('res://Auth.tscn')
  5. signal login_confimed
  6. signal choose_a_server(arg)
  7. var login_await = true
  8. func _ready():
  9. for i in get_children():
  10. i.hide()
  11. $directconnect.show()
  12. func _on_Button_button_down():
  13. $directconnect.hide()
  14. $loginscreen.show()
  15. get_parent().get_node("Loginetcode").ip = $directconnect/VBoxContainer/HBoxContainer/LineEdit2.get_text()
  16. print(get_parent().get_node("Loginetcode").ip)
  17. get_parent().get_node("Loginetcode")._connect()
  18. if login_await: yield(self,'login_confimed')
  19. $loginscreen.hide()
  20. get_parent().get_node("BrowserListClient/PanelContainer").show()
  21. var client2 = client.instance()
  22. if login_await:
  23. var arg = yield(self,'choose_a_server')
  24. client2.ip = arg.IP
  25. client2.port = int(arg.Port)
  26. else:
  27. client2.ip = $directconnect/VBoxContainer/HBoxContainer/LineEdit2.get_text()
  28. client2.port = int($directconnect/VBoxContainer/HBoxContainer/LineEdit.get_text())
  29. get_parent().get_node("BrowserListClient/PanelContainer").hide()
  30. get_node('../Uibackground').hide()
  31. get_parent().add_child(client2)
  32. pass # Replace with function body.
  33. func _on_Button2_button_down():
  34. var server2 = server.instance()
  35. var auth2 = auth.instance()
  36. get_parent().add_child(server2)
  37. server2.db_validation = false
  38. get_parent().add_child(auth2)
  39. pass # Replace with function body.
  40. func _on_CheckButton_toggled(button_pressed):
  41. login_await = button_pressed
  42. pass # Replace with function body.
  43. func _on_register_button_down():
  44. for x in get_children():
  45. x.hide()
  46. $register.show()
  47. pass # Replace with function body.
  48. func _on_login2_button_down():
  49. for x in get_children():
  50. x.hide()
  51. $loginscreen.show()
  52. pass # Replace with function body.
  53. func _on_Register2_button_down():
  54. var username = $register/VBoxContainer/HBoxContainer1/LineEdit2.get_text()
  55. var password = $register/VBoxContainer/HBoxContainer2/LineEdit2.get_text()
  56. var password2 = $register/VBoxContainer/HBoxContainer3/LineEdit2.get_text()
  57. var email = $register/VBoxContainer/HBoxContainer4/LineEdit2.get_text()
  58. var salt = str(OS.get_system_time_msecs())
  59. $register/VBoxContainer/Label.text = ''
  60. print(salt)
  61. for i in 512: password = (password+salt).sha256_text()
  62. for i in 512: password2 = (password2+salt).sha256_text()
  63. print(password)
  64. get_parent().get_node("Loginetcode").Register(username, password, password2, email, salt)
  65. password = null
  66. var ip =''
  67. var port =''
  68. func _on_login_button_down():
  69. var username = $loginscreen/VBoxContainer/HBoxContainer/LineEdit2.get_text()
  70. get_parent().get_node("Loginetcode").Request_Salt(username)
  71. var salt = yield(get_parent().get_node("Loginetcode"),'salt')
  72. # var salt = get_parent().get_node("Loginetcode").salt_buffer
  73. print('the salt is: ')
  74. print(salt)
  75. var password = $loginscreen/VBoxContainer/HBoxContainer2/LineEdit2.get_text()
  76. if password == null or salt == null: return
  77. for i in 512: password = (password+salt).sha256_text()
  78. print(password)
  79. get_parent().get_node("Loginetcode").Login_Salt(username, password, salt)
  80. password = null
  81. yield(get_parent().get_node("Loginetcode"),'login_confirmed')
  82. $loginscreen.hide()
  83. var client2 = client.instance()
  84. # var ip = $directconnect/VBoxContainer/HBoxContainer/LineEdit2.get_text()
  85. # var port = $directconnect/VBoxContainer/HBoxContainer/LineEdit.get_text()
  86. client2.ip = ip
  87. client2.port = int(port)
  88. get_parent().add_child(client2)
  89. pass # Replace with function body.
  90. func choose_a_server(arg):
  91. print('choose server')
  92. print(arg)
  93. ip = arg.IP
  94. port = arg.Port
  95. print(ip)
  96. print(port)
  97. emit_signal("choose_a_server", arg)
  98. pass # Replace with function body.
  99. func _on_changepassword_button_down():
  100. for x in get_children():
  101. x.hide()
  102. $changepassword.show()
  103. pass # Replace with function body.
  104. func _on_chang_password_button_down():
  105. var username = $changepassword/VBoxContainer/HBoxContainer/LineEdit2.get_text()
  106. get_parent().get_node("Loginetcode").Request_Salt(username)
  107. var salt = yield(get_parent().get_node("Loginetcode"),'salt')
  108. var password_old = $changepassword/VBoxContainer/HBoxContainer2/LineEdit2.get_text()
  109. var password_new = $changepassword/VBoxContainer/HBoxContainer4/LineEdit2.get_text()
  110. var username_new = $changepassword/VBoxContainer/HBoxContainer5/LineEdit2.get_text()
  111. var email_new = $changepassword/VBoxContainer/HBoxContainer6/LineEdit2.get_text()
  112. print(salt)
  113. if salt == null: return
  114. for i in 512: password_old = (password_old+salt).sha256_text()
  115. for i in 512: password_new = (password_new+salt).sha256_text()
  116. get_parent().get_node("Loginetcode").chang_password(username, password_old, password_new, salt, username_new, email_new)
  117. password_old = null
  118. password_new = null