summaryrefslogtreecommitdiff
path: root/login.gd
diff options
context:
space:
mode:
authorDaniel Weipert <git@mail.dweipert.de>2024-12-15 16:53:12 +0100
committerDaniel Weipert <git@mail.dweipert.de>2024-12-15 16:53:12 +0100
commit75793bd23d275d10d6a0bd8024a7e412b64557ce (patch)
treeeef8145a645a88c718a4004e3a5e5f8f7700fa47 /login.gd
parenta14e88ff4d0d87841a44254e2bff1784da6e8b48 (diff)
next commit
Diffstat (limited to 'login.gd')
-rw-r--r--login.gd121
1 files changed, 0 insertions, 121 deletions
diff --git a/login.gd b/login.gd
deleted file mode 100644
index fedf2de..0000000
--- a/login.gd
+++ /dev/null
@@ -1,121 +0,0 @@
-extends Control
-
-
-var account_information: LoginServerLoginSuccessPacket
-var character_server_information: Array
-
-var current_character_information: CharacterInformation
-
-
-func _ready() -> void:
- switch_screen(%Login)
- #$BackgroundMusic.play()
-
- %ChatWindow.visible = false
-
-
-func switch_screen(screen: Node):
- for node in get_children():
- if node is CenterContainer:
- node.visible = false
-
- screen.visible = true
-
-
-func _on_login_pressed() -> void:
- $ButtonClickSound.play()
- Network.login_server.login(%Username.text, %Password.text)
-
- account_information = await Network.login_server.logged_in
- character_server_information = account_information.character_server_information
-
- Client.account.id = account_information.account_id
-
- get_tree().root.add_child(Network.login_server.get_keep_alive_timer())
-
- for node in %CharacterServerList.get_children():
- node.queue_free()
-
- for info: CharacterServerInformation in character_server_information:
- var select_character_server = Button.new()
- select_character_server.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND
- select_character_server.text = info.server_name
- select_character_server.pressed.connect(_on_character_server_login_pressed.bind(info))
- %CharacterServerList.add_child(select_character_server)
-
- switch_screen(%CharacterServer)
-
-
-func _on_character_server_login_pressed(character_server_info: CharacterServerInformation) -> void:
- $ButtonClickSound.play()
- Network.character_server = CharacterServer.new(
- character_server_info.get_server_ip(),
- character_server_info.server_port
- )
-
- Network.character_server.login(
- account_information.account_id,
- account_information.login_id1,
- account_information.login_id2,
- account_information.gender
- )
-
- var response = await Network.character_server.received_packet
- if response is CharacterSelectionFailedPacket:
- print("character server login failed")
- %ChatWindow.add_message("character server login failed")
- return
-
- get_tree().root.add_child(Network.character_server.get_keep_alive_timer())
-
- var character_list: CharacterServerLoginSuccessCharacterListPacket = await Network.character_server.logged_in_character_list
-
- for slot_idx in character_list.character_information.size():
- var info: CharacterInformation = character_list.character_information[slot_idx]
- var character = Button.new()
- character.mouse_default_cursor_shape = Control.CURSOR_POINTING_HAND
- character.text = info.name
- character.pressed.connect(func():
- current_character_information = info
- _on_character_selected_pressed(slot_idx)
- )
- %CharacterList.add_child(character)
-
- switch_screen(%CharacterSelection)
-
-
-func _on_character_selected_pressed(slot_idx: int):
- $ButtonClickSound.play()
- Network.character_server.select_character(slot_idx)
-
- var selected_character = await Network.character_server.selected_character
-
- if selected_character is CharacterSelectionFailedPacket:
- # TODO: show error
- return
-
- Client.character.name = current_character_information.name
-
- Network.map_server = MapServer.new(
- selected_character.get_map_server_ip(),
- selected_character.map_server_port
- )
-
- Network.map_server.login(
- account_information.account_id,
- current_character_information.character_id,
- account_information.login_id1,
- account_information.gender
- )
- var _logged_in = await Network.map_server.logged_in
-
- # TODO: switch to game :)
-
- %ChatWindow.visible = true
- %ChatWindow.initialize()
-
- # TODO: load map
- var map_loaded_packet := MapLoadedPacket.new()
- Network.map_server.send(map_loaded_packet)
-
- # TODO: check which map server packets to send next