123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- extends Node
- const PORT = 4433
- func _ready() -> void:
-
- get_tree().paused = true
-
- multiplayer.server_relay = false
-
- if DisplayServer.get_name() == "headless":
- print("Automatically starting dedicated server")
- _on_host_pressed.call_deferred()
- func _on_host_pressed() -> void:
-
- var peer = ENetMultiplayerPeer.new()
- peer.create_server(PORT)
- if peer.get_connection_status() == MultiplayerPeer.CONNECTION_DISCONNECTED:
- OS.alert("Failed to start multiplayer server")
- return
- multiplayer.multiplayer_peer = peer
- start_game()
- func _on_connect_pressed() -> void:
-
- var txt : String = $UI/Net/Options/Remote.text
- if txt == "":
- OS.alert("Need a remote to connect to.")
- return
- var peer = ENetMultiplayerPeer.new()
- peer.create_client(txt, PORT)
- if peer.get_connection_status() == MultiplayerPeer.CONNECTION_DISCONNECTED:
- OS.alert("Failed to start multiplayer client")
- return
- multiplayer.multiplayer_peer = peer
- start_game()
- func start_game() -> void:
-
- $UI.hide()
- get_tree().paused = false
-
-
- if multiplayer.is_server():
- change_level.call_deferred(load("res://run/levels/destination/final.tscn"))
- func change_level(scene: PackedScene) -> void:
-
- var level = $Level
- for c in level.get_children():
- level.remove_child(c)
- c.queue_free()
-
- level.add_child(scene.instantiate())
- func _input(event: InputEvent) -> void:
- if not multiplayer.is_server():
- return
- if event.is_action("ui_home") and Input.is_action_just_pressed("ui_home"):
- change_level.call_deferred(load("res://run/levels/destination/final.tscn"))
|