open-fpsz/main.tscn
2024-04-07 21:03:56 +00:00

59 lines
1.7 KiB
Plaintext

[gd_scene load_steps=3 format=3 uid="uid://58gb6qi4jojs"]
[ext_resource type="PackedScene" uid="uid://bjctlqvs33nqy" path="res://interfaces/menus/boot/boot.tscn" id="1_acy5o"]
[sub_resource type="GDScript" id="GDScript_e61dq"]
script/source = "
extends Node3D
class_name Main
@onready var main_menu = $MainMenu
@onready var game_mode = $GameMode
func _ready():
$MainMenu.start_demo.connect(_start_demo)
$MainMenu.start_server.connect(_start_server)
$MainMenu.join_server.connect(_join_server)
func _unhandled_input(event):
# exit the program
if event.is_action_pressed(\"exit\"):
get_tree().quit()
# switch window mode
if event.is_action_pressed(\"window_mode\"):
if DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
else:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
func game_mode_cleanup():
for c in game_mode.get_children():
game_mode.remove_child(c)
c.queue_free()
func start_game_mode(game_mode_scene : PackedScene):
main_menu.hide()
game_mode_cleanup()
var scene_instance = game_mode_scene.instantiate()
game_mode.add_child(scene_instance)
return scene_instance
func _start_demo():
start_game_mode(load(\"res://game_modes/demo.tscn\"))
func _start_server(peer):
var server_scene = start_game_mode(load(\"res://game_modes/multiplayer.tscn\"))
server_scene.start_server(peer)
func _join_server(peer):
var client_scene = start_game_mode(load(\"res://game_modes/multiplayer.tscn\"))
client_scene.join_server(peer)
"
[node name="Game" type="Node3D"]
script = SubResource("GDScript_e61dq")
[node name="MainMenu" parent="." instance=ExtResource("1_acy5o")]
[node name="GameMode" type="Node3D" parent="."]