Files
Shrender-Man/globals.gd
2026-03-02 02:17:04 +00:00

89 lines
1.8 KiB
GDScript

extends Node
var jumpscareScreen = preload("res://jumpscare.tscn")
var gameOverScreen = preload("res://shrek death screen.tscn")
var playerControlled = false
var gameRunning = false
var playerInitPos: Vector3
var playerInitRotation: Vector3
var playerPos: Vector3
var shrekInitPos: Vector3
var shrekInitRotation: Vector3
var shrekPos: Vector3
var huntMode = -1
var onionsFound = 0
var onionsToFind = 8
var difficulty = 2
var task = 0
var runTo: Vector2
var dead = false
func reinit():
dead = false
onionsFound = 0
huntMode = 0
task = 0
makePlayerControlled()
func foundOnion():
onionsFound+=1
if huntMode != 1:
huntMode = 0
if onionsFound >= onionsToFind:
task = 1
func gameOver(_dead):
dead = _dead
gameRunning = false
if dead:
get_tree().change_scene_to_packed(jumpscareScreen)
else:
makeNotPlayerControlled()
get_tree().change_scene_to_packed(gameOverScreen)
func _notification(what):
match what:
NOTIFICATION_APPLICATION_FOCUS_OUT:
makeNotPlayerControlled()
func _input(event):
if event is InputEventMouseButton:
if gameRunning:
makePlayerControlled()
func _ready():
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
if Input.is_action_just_released("fullscreen"):
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 makePlayerControlled():
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
playerControlled = true
gameRunning = true
func makeNotPlayerControlled():
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
playerControlled = false