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