refactor networker and menus
This commit is contained in:
parent
df06be7542
commit
fa6cf57e0c
@ -6,9 +6,10 @@
|
|||||||
[node name="Title" type="Node"]
|
[node name="Title" type="Node"]
|
||||||
script = ExtResource("1_l5ce6")
|
script = ExtResource("1_l5ce6")
|
||||||
|
|
||||||
[node name="Menu" type="CanvasLayer" parent="."]
|
[node name="PlayMenu" type="CanvasLayer" parent="."]
|
||||||
|
script = ExtResource("1_gunvo")
|
||||||
|
|
||||||
[node name="PlayMenu" type="Panel" parent="Menu"]
|
[node name="Panel" type="Panel" parent="PlayMenu"]
|
||||||
anchors_preset = 8
|
anchors_preset = 8
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
anchor_top = 0.5
|
anchor_top = 0.5
|
||||||
@ -20,9 +21,8 @@ offset_right = 321.5
|
|||||||
offset_bottom = 84.0
|
offset_bottom = 84.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
script = ExtResource("1_gunvo")
|
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="Menu/PlayMenu"]
|
[node name="MarginContainer" type="MarginContainer" parent="PlayMenu/Panel"]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
@ -34,19 +34,19 @@ theme_override_constants/margin_top = 20
|
|||||||
theme_override_constants/margin_right = 20
|
theme_override_constants/margin_right = 20
|
||||||
theme_override_constants/margin_bottom = 20
|
theme_override_constants/margin_bottom = 20
|
||||||
|
|
||||||
[node name="GridContainer" type="GridContainer" parent="Menu/PlayMenu/MarginContainer"]
|
[node name="GridContainer" type="GridContainer" parent="PlayMenu/Panel/MarginContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/h_separation = 10
|
theme_override_constants/h_separation = 10
|
||||||
theme_override_constants/v_separation = 20
|
theme_override_constants/v_separation = 20
|
||||||
columns = 3
|
columns = 3
|
||||||
|
|
||||||
[node name="NameLabel" type="Label" parent="Menu/PlayMenu/MarginContainer/GridContainer"]
|
[node name="NameLabel" type="Label" parent="PlayMenu/Panel/MarginContainer/GridContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 26
|
theme_override_font_sizes/font_size = 26
|
||||||
text = "Name:"
|
text = "Name:"
|
||||||
horizontal_alignment = 2
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="NameEdit" type="LineEdit" parent="Menu/PlayMenu/MarginContainer/GridContainer"]
|
[node name="NameEdit" type="LineEdit" parent="PlayMenu/Panel/MarginContainer/GridContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
focus_neighbor_right = NodePath("../HostButton")
|
focus_neighbor_right = NodePath("../HostButton")
|
||||||
@ -55,34 +55,34 @@ theme_override_font_sizes/font_size = 26
|
|||||||
text = "ass"
|
text = "ass"
|
||||||
max_length = 16
|
max_length = 16
|
||||||
|
|
||||||
[node name="HostButton" type="Button" parent="Menu/PlayMenu/MarginContainer/GridContainer"]
|
[node name="HostButton" type="Button" parent="PlayMenu/Panel/MarginContainer/GridContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
focus_neighbor_left = NodePath("../NameEdit")
|
focus_neighbor_left = NodePath("../NameEdit")
|
||||||
focus_neighbor_bottom = NodePath("../JoinButton")
|
focus_neighbor_bottom = NodePath("../JoinButton")
|
||||||
theme_override_font_sizes/font_size = 26
|
theme_override_font_sizes/font_size = 26
|
||||||
text = "Host"
|
text = "Host"
|
||||||
|
|
||||||
[node name="AddressLabel" type="Label" parent="Menu/PlayMenu/MarginContainer/GridContainer"]
|
[node name="AddressLabel" type="Label" parent="PlayMenu/Panel/MarginContainer/GridContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 26
|
theme_override_font_sizes/font_size = 26
|
||||||
text = "Address:"
|
text = "Address:"
|
||||||
horizontal_alignment = 2
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="AddressEdit" type="LineEdit" parent="Menu/PlayMenu/MarginContainer/GridContainer"]
|
[node name="AddressEdit" type="LineEdit" parent="PlayMenu/Panel/MarginContainer/GridContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
focus_neighbor_top = NodePath("../NameEdit")
|
focus_neighbor_top = NodePath("../NameEdit")
|
||||||
focus_neighbor_right = NodePath("../JoinButton")
|
focus_neighbor_right = NodePath("../JoinButton")
|
||||||
theme_override_font_sizes/font_size = 26
|
theme_override_font_sizes/font_size = 26
|
||||||
|
|
||||||
[node name="JoinButton" type="Button" parent="Menu/PlayMenu/MarginContainer/GridContainer"]
|
[node name="JoinButton" type="Button" parent="PlayMenu/Panel/MarginContainer/GridContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
focus_neighbor_left = NodePath("../AddressEdit")
|
focus_neighbor_left = NodePath("../AddressEdit")
|
||||||
focus_neighbor_top = NodePath("../HostButton")
|
focus_neighbor_top = NodePath("../HostButton")
|
||||||
theme_override_font_sizes/font_size = 26
|
theme_override_font_sizes/font_size = 26
|
||||||
text = "Join"
|
text = "Join"
|
||||||
|
|
||||||
[node name="ErrorLabel" type="Label" parent="Menu/PlayMenu"]
|
[node name="ErrorLabel" type="Label" parent="PlayMenu/Panel"]
|
||||||
layout_mode = 1
|
layout_mode = 1
|
||||||
anchors_preset = 8
|
anchors_preset = 8
|
||||||
anchor_left = 0.5
|
anchor_left = 0.5
|
||||||
|
|||||||
@ -55,7 +55,7 @@ func _input(event: InputEvent) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func can_control_player() -> bool:
|
func can_control_player() -> bool:
|
||||||
return Referencer.main.menu == null
|
return Referencer.menu == null
|
||||||
|
|
||||||
|
|
||||||
func get_action_prompt(action: StringName) -> String:
|
func get_action_prompt(action: StringName) -> String:
|
||||||
|
|||||||
@ -100,7 +100,7 @@ func player_name(peer_id: int) -> String:
|
|||||||
return str(peer_id)
|
return str(peer_id)
|
||||||
|
|
||||||
|
|
||||||
func _switch_scene(from: Node, to: PackedScene) -> void:
|
func _switch_scene(to: PackedScene, from: Node) -> void:
|
||||||
if from:
|
if from:
|
||||||
from.queue_free()
|
from.queue_free()
|
||||||
|
|
||||||
@ -111,7 +111,7 @@ func _switch_scene(from: Node, to: PackedScene) -> void:
|
|||||||
|
|
||||||
func _load_main() -> void:
|
func _load_main() -> void:
|
||||||
print("Loading Main...")
|
print("Loading Main...")
|
||||||
_switch_scene($/root/Title, _main_scene)
|
_switch_scene(_main_scene, $/root/Title)
|
||||||
|
|
||||||
|
|
||||||
func _add_player(peer_id: int, player_info: Dictionary) -> void:
|
func _add_player(peer_id: int, player_info: Dictionary) -> void:
|
||||||
@ -177,5 +177,5 @@ func _on_multiplayer_server_disconnected() -> void:
|
|||||||
var message := "Server disconnected"
|
var message := "Server disconnected"
|
||||||
printerr(message)
|
printerr(message)
|
||||||
players.clear()
|
players.clear()
|
||||||
_switch_scene($/root/Main, _title_scene)
|
_switch_scene(_title_scene, $/root/Main)
|
||||||
network_error.emit(message)
|
network_error.emit(message)
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
signal main_loaded
|
signal main_loaded
|
||||||
signal menu_opened(menu: Menu)
|
signal menu_opened(menu_node: Menu)
|
||||||
signal menu_closed(menu: Menu)
|
signal menu_closed(menu_node: Menu)
|
||||||
|
|
||||||
var camera: Camera3D
|
var camera: Camera3D
|
||||||
var player: Player
|
var player: Player
|
||||||
|
var menu: Menu
|
||||||
var main: Main:
|
var main: Main:
|
||||||
set(value):
|
set(value):
|
||||||
if value:
|
if value:
|
||||||
@ -14,9 +15,9 @@ var main: Main:
|
|||||||
var chat: Chat
|
var chat: Chat
|
||||||
|
|
||||||
|
|
||||||
func set_menu_opened(menu: Menu) -> void:
|
func set_menu_opened(menu_node: Menu) -> void:
|
||||||
menu_opened.emit(menu)
|
menu_opened.emit(menu_node)
|
||||||
|
|
||||||
|
|
||||||
func set_menu_closed(menu: Menu) -> void:
|
func set_menu_closed(menu_node: Menu) -> void:
|
||||||
menu_closed.emit(menu)
|
menu_closed.emit(menu_node)
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
class_name Main
|
class_name Main
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
var menu: Menu
|
|
||||||
|
|
||||||
@onready var player_holder: Node = $Players
|
@onready var player_holder: Node = $Players
|
||||||
|
|
||||||
@onready var _player_spawner: MultiplayerSpawner = $PlayerSpawner
|
@onready var _player_spawner: MultiplayerSpawner = $PlayerSpawner
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
@onready var _play_menu: PlayMenu = $PlayMenu
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
print("Cadastery v", ProjectSettings.get_setting("application/config/version"))
|
print("Cadastery v", ProjectSettings.get_setting("application/config/version"))
|
||||||
@ -7,3 +9,5 @@ func _ready() -> void:
|
|||||||
if Networker.is_dedicated_server():
|
if Networker.is_dedicated_server():
|
||||||
Networker.call_deferred("host_game", true)
|
Networker.call_deferred("host_game", true)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
_play_menu.open()
|
||||||
|
|||||||
@ -6,11 +6,11 @@ var is_open: bool = false
|
|||||||
|
|
||||||
func open() -> void:
|
func open() -> void:
|
||||||
is_open = true
|
is_open = true
|
||||||
Referencer.main.menu = self
|
Referencer.menu = self
|
||||||
Referencer.set_menu_opened(self)
|
Referencer.set_menu_opened(self)
|
||||||
|
|
||||||
|
|
||||||
func close() -> void:
|
func close() -> void:
|
||||||
is_open = false
|
is_open = false
|
||||||
Referencer.main.menu = null
|
Referencer.menu = null
|
||||||
Referencer.set_menu_closed(self)
|
Referencer.set_menu_closed(self)
|
||||||
|
|||||||
@ -1,15 +1,16 @@
|
|||||||
extends Panel
|
class_name PlayMenu
|
||||||
|
extends Menu
|
||||||
|
|
||||||
const SERVER_HISTORY_PATH := "user://server_history"
|
const SERVER_HISTORY_PATH := "user://server_history"
|
||||||
|
|
||||||
var _server_history: PackedStringArray = []
|
var _server_history: PackedStringArray = []
|
||||||
var _history_position: int = 0
|
var _history_position: int = 0
|
||||||
|
|
||||||
@onready var _name_edit: LineEdit = $MarginContainer/GridContainer/NameEdit
|
@onready var _name_edit: LineEdit = $Panel/MarginContainer/GridContainer/NameEdit
|
||||||
@onready var _address_edit: LineEdit = $MarginContainer/GridContainer/AddressEdit
|
@onready var _address_edit: LineEdit = $Panel/MarginContainer/GridContainer/AddressEdit
|
||||||
@onready var _host_button: Button = $MarginContainer/GridContainer/HostButton
|
@onready var _host_button: Button = $Panel/MarginContainer/GridContainer/HostButton
|
||||||
@onready var _join_button: Button = $MarginContainer/GridContainer/JoinButton
|
@onready var _join_button: Button = $Panel/MarginContainer/GridContainer/JoinButton
|
||||||
@onready var _error_label: Label = $ErrorLabel
|
@onready var _error_label: Label = $Panel/ErrorLabel
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user