rundumdiewelten/rund-um-die-welten/global/global_variables.gd
phantomvines d8eec1150e upload
2025-09-19 16:37:23 +02:00

87 lines
2.9 KiB
GDScript

extends Node
# Player vars
var target_planet_position
var player_speed
var player_clockwise
var player_skin = "default"
# Planet vars
enum planets {DeathStar, Mars, Earth, Sun, Soap, Plant, Magma, Bowling}
var planet_names = {planets.DeathStar: "Death Star", planets.Mars: "Mars", planets.Earth: "Earth", planets.Sun: "Sun", planets.Soap: "Soap", planets.Plant: "Plant", planets.Magma: "Magma", planets.Bowling: "Bowling"}
var selected_level = "Level 1"
var current_world = ""
var in_main_menu = true
#Doesnt work yet
var global_RNG := RandomNumberGenerator.new()
# Level vars
var collectibles = {"Level 1": [0,0,0], "Level 2": [0,0,0], "Level 3": [0,0,0], "Level 4": [0,0,0], "Level 5": [0,0,0], "Level 6": [0,0,0], "Level 7": [0,0,0], "Level 8": [0,0,0], "Level 9": [0,0,0], "Level 10": [0,0,0], "Level 11": [0,0,0], "Level 12": [0,0,0], "Level 13": [0,0,0], "Level 14": [0,0,0], "Level 15": [0,0,0], "Level 16": [0,0,0], "Level 17": [0,0,0], "Level 18": [0,0,0], "Level 19": [0,0,0], "Level 20": [0,0,0]}
var active_buttons = {"pink": false, "green": false, "orange": false}
var levels = {"Level 1": 0, "Level 2": 0, "Level 3": 0, "Level 4": 0, "Level 5": 0, "Level 6": 0, "Level 7": 0, "Level 8": 0, "Level 9": 0, "Level 10": 0, "Level 11": 0, "Level 12": 0, "Level 13": 0, "Level 14": 0, "Level 15": 0, "Level 16": 0, "Level 17": 0, "Level 18": 0, "Level 19": 0, "Level 20": 0};
var death_counter = 0
# Signals
# Game-State-Signals
signal player_died(death_message: String)
signal game_over(game_over_message: String)
signal level_done(win_message: String)
# Other Signals
signal button_changed_stage()
func _ready() -> void:
pass
func emit_player_died(death_message: String):
if death_message != "You left the mission area":
Audioplayer.play_sound(preload("res://sfx/death.wav"))
player_died.emit(death_message)
func emit_game_over(game_over_message: String):
game_over.emit(game_over_message)
func emit_level_done(win_message: String):
level_done.emit(win_message)
func goto_level_select():
change_level("res://LevelSelectUtility/" + current_world + ".tscn", true)
func restart_level():
target_planet_position = null
if get_tree().current_scene:
get_tree().reload_current_scene()
func play_music():
if in_main_menu:
Audioplayer.play_music("res://sfx/menu-theme.mp3")
else:
Audioplayer.play_music("res://sfx/Soundtrack.mp3")
func change_level(level_select_path, new_level_is_main_menu = false):
get_tree().change_scene_to_file(level_select_path)
in_main_menu = new_level_is_main_menu
restart_level()
reset_all_buttons()
play_music()
# Button utils
func reset_all_buttons():
for i in active_buttons:
active_buttons[i] = false
button_changed_stage.emit()
func set_button_to(button_name: String, value):
active_buttons[button_name] = value
button_changed_stage.emit()
func toggle_button(button_name: String):
active_buttons[button_name] = !active_buttons[button_name]
button_changed_stage.emit()