Networking and menu cleanup, added nosteam window flag
This commit is contained in:
@@ -1,75 +1,47 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@onready var use_steam_check: CheckButton = %UseSteamCheck
|
||||
@onready var ip_edit: LineEdit = %IPEdit
|
||||
@onready var join_ip_button: Button = %JoinIPButton
|
||||
|
||||
@onready var quit_button: Button = %QuitButton
|
||||
@onready var steam_host_button: Button = %SteamHostButton
|
||||
@onready var steam_lobby_id_edit: LineEdit = %SteamLobbyIDEdit
|
||||
@onready var join_steam_button: Button = %JoinSteamButton
|
||||
@onready var quit_button: Button = %QuitButton
|
||||
@onready var ip_host_button: Button = %IPHostButton
|
||||
@onready var steam_controls: VBoxContainer = %SteamControls
|
||||
@onready var e_net_controls: VBoxContainer = %ENetControls
|
||||
@onready var steam_avatar: TextureRect = %SteamAvatar
|
||||
@onready var steam_username_label: Label = %SteamUsernameLabel
|
||||
|
||||
@onready var ip_host_button: Button = %IPHostButton
|
||||
@onready var e_net_controls: VBoxContainer = %ENetControls
|
||||
@onready var username_input: LineEdit = %UsernameInput
|
||||
@onready var ip_avatar_image: TextureButton = %IPAvatarImage
|
||||
@onready var ip_edit: LineEdit = %IPEdit
|
||||
@onready var join_ip_button: Button = %JoinIPButton
|
||||
|
||||
|
||||
const TEST_LEVEL = preload("uid://tnw1q8a7ndio")
|
||||
const PLAYER = preload("uid://cq6ovfsdvnt40")
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
|
||||
#if OS.has_feature("server"):
|
||||
#add_world()
|
||||
#NetworkManager.start_server()
|
||||
#hide()
|
||||
|
||||
use_steam_check.toggled.connect(_on_use_steam_toggled)
|
||||
|
||||
join_ip_button.pressed.connect(_on_ip_join_pressed)
|
||||
check_command_line()
|
||||
quit_button.pressed.connect(func(): get_tree().quit())
|
||||
ip_host_button.pressed.connect(_on_host_ip_pressed)
|
||||
username_input.text_changed.connect(_on_username_input_text_changed)
|
||||
ip_avatar_image.pressed.connect(_on_ip_avatar_clicked)
|
||||
|
||||
if OS.has_feature("nosteam"):
|
||||
steam_controls.hide()
|
||||
e_net_controls.show()
|
||||
|
||||
join_ip_button.pressed.connect(_on_ip_join_pressed)
|
||||
ip_host_button.pressed.connect(_on_host_ip_pressed)
|
||||
username_input.text_changed.connect(_on_username_input_text_changed)
|
||||
ip_avatar_image.pressed.connect(_on_ip_avatar_clicked)
|
||||
return
|
||||
|
||||
join_steam_button.pressed.connect(_on_join_steam_pressed)
|
||||
steam_host_button.pressed.connect(_on_host_steam_pressed)
|
||||
steam_lobby_id_edit.text_changed.connect(_on_lobby_text_changed)
|
||||
|
||||
Steam.join_requested.connect(_on_lobby_join_requested)
|
||||
|
||||
check_command_line()
|
||||
|
||||
func _on_use_steam_toggled(toggled_on: bool):
|
||||
if toggled_on:
|
||||
if !Steamworks.is_initalized:
|
||||
push_error("Steam not initalized, reverting to IP")
|
||||
steam_controls.hide()
|
||||
use_steam_check.button_pressed = false
|
||||
else:
|
||||
steam_controls.show()
|
||||
e_net_controls.hide()
|
||||
steam_username_label.text = Steamworks.steam_username
|
||||
steam_avatar.texture = Steamworks.steam_avatar
|
||||
else:
|
||||
e_net_controls.show()
|
||||
steam_controls.hide()
|
||||
|
||||
|
||||
func _on_ip_join_pressed():
|
||||
var avatar: ImageTexture = ImageTexture.create_from_image(ip_avatar_image.texture_normal.get_image())
|
||||
NetworkManager.join_server(ip_edit.text, username_input.text, avatar)
|
||||
add_world()
|
||||
hide()
|
||||
|
||||
|
||||
func _on_host_ip_pressed():
|
||||
var avatar: ImageTexture = ImageTexture.create_from_image(ip_avatar_image.texture_normal.get_image())
|
||||
NetworkManager.start_server(username_input.text, avatar)
|
||||
add_world()
|
||||
hide()
|
||||
|
||||
steam_username_label.text = Steamworks.steam_username
|
||||
steam_avatar.texture = await Steamworks.get_player_avatar(Steamworks.steam_id)
|
||||
|
||||
|
||||
func _on_host_steam_pressed():
|
||||
@@ -113,6 +85,22 @@ func check_command_line() -> void:
|
||||
hide()
|
||||
|
||||
|
||||
#region Non steam
|
||||
|
||||
func _on_ip_join_pressed():
|
||||
var avatar: ImageTexture = ImageTexture.create_from_image(ip_avatar_image.texture_normal.get_image())
|
||||
NetworkManager.join_server(ip_edit.text, username_input.text, avatar)
|
||||
add_world()
|
||||
hide()
|
||||
|
||||
|
||||
func _on_host_ip_pressed():
|
||||
var avatar: ImageTexture = ImageTexture.create_from_image(ip_avatar_image.texture_normal.get_image())
|
||||
NetworkManager.start_server(username_input.text, avatar)
|
||||
add_world()
|
||||
hide()
|
||||
|
||||
|
||||
func _on_username_input_text_changed(new_text: String) -> void:
|
||||
if new_text == "":
|
||||
ip_host_button.hide()
|
||||
@@ -149,3 +137,4 @@ func _on_ip_avatar_clicked():
|
||||
|
||||
add_child(file_dialog)
|
||||
file_dialog.popup_centered()
|
||||
#endregion
|
||||
|
||||
@@ -51,19 +51,12 @@ layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
text = "Multiplayer Template Game"
|
||||
|
||||
[node name="UseSteamCheck" type="CheckButton" parent="Control/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer2" unique_id=2050719522]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Use Steam"
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Control/PanelContainer/MarginContainer/VBoxContainer" unique_id=1028494634]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="SteamControls" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=614477215]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 4
|
||||
@@ -112,6 +105,7 @@ text = "Host"
|
||||
|
||||
[node name="ENetControls" type="VBoxContainer" parent="Control/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=1909532057]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 4
|
||||
|
||||
Reference in New Issue
Block a user