extends Node var resolution = Vector2(256,192) onready var viewport = get_parent().get_node("Main/Control/ViewportContainer/Viewport") var current_sector = Vector2(0,0) var fullscreen = false #Onreadys onready var viewport_container = get_parent().get_node("Main/Control/ViewportContainer") #Collectibles var golds = 0 var stars = [false,false,false,false,false] var shards = 0 var arrows = 0 var score = 0 var high_score = 0 var lives = 2 var time = 0.0 #Audio Channels onready var ac_jump = $JumpSound onready var ac_collectible = $CollecitbleSound onready var ac_climb = $ClimbSound onready var ac_die = $DieSound onready var ac_music = $Music #Sounds onready var a_gold = preload("res://audio/sounds/snd_coin.ogg") onready var a_arrow = preload("res://audio/sounds/a_egg_collect.ogg") onready var a_jump = preload("res://audio/sounds/jump.ogg") onready var a_star = preload("res://audio/sounds/a_jinjo.ogg") onready var a_shard = preload("res://audio/sounds/tempjingle.wav") onready var a_climb_up = preload("res://audio/sounds/a_climb.ogg") onready var a_climb_down = preload("res://audio/sounds/a_bmilc.ogg") onready var a_sword = preload("res://audio/sounds/sword.ogg") onready var a_doublejump = preload("res://audio/sounds/a_bree.wav") onready var a_shoot = preload("res://audio/sounds/a_egg_shoot.ogg") onready var a_die = preload("res://audio/sounds/a_hurt.ogg") #Objects onready var block_text = preload("res://objects/hud/blocktext.tscn") var respawn_point = Vector2(32,166) #Respawn point var current_level = 0 #Current level being played var current_file = 1 #Current save file var shards_collected = [false,false,false,false,false,false,false,false,false,false] #Instances a node func instance_node(node:PackedScene,x:float,y:float,parent): var Instance = node.instance() Instance.global_position = Vector2(x,y) parent.add_child(Instance) #Plays a sound func play_sound(snd,player): player.set_stream(snd) player._set_playing(true) #Get position in sectors func get_sector(pos): return (pos / resolution).floor() #Return the current Map func get_map(): return viewport.get_children()[0] #Go to new map func change_map(map): shards_collected = [false,false,false,false,false,false,false,false,false,false] get_map().queue_free() instance_node(map,0,0,viewport) #Clear data func clear_collectibles(): Game.score = 0 Game.golds = 0 Game.stars = [false,false,false,false,false] Game.shards = 0 Game.arrows = 0 Game.lives = 2 #Save func save(): var save = ConfigFile.new() save.set_value(str(current_level),"High Score",Game.score) save.set_value(str(current_level),"Golds",Game.golds) save.set_value(str(current_level),"Shard0",Game.shards_collected[0]) save.set_value(str(current_level),"Shard1",Game.shards_collected[1]) save.set_value(str(current_level),"Shard2",Game.shards_collected[2]) save.set_value(str(current_level),"Shard3",Game.shards_collected[3]) save.set_value(str(current_level),"Shard4",Game.shards_collected[4]) save.set_value(str(current_level),"Shard5",Game.shards_collected[5]) save.set_value(str(current_level),"Shard6",Game.shards_collected[6]) save.set_value(str(current_level),"Shard7",Game.shards_collected[7]) save.set_value(str(current_level),"Shard8",Game.shards_collected[8]) save.set_value(str(current_level),"Shard9",Game.shards_collected[9]) save.save(str("user://file") + str(current_file) + str(".pr")) func _process(delta): #CRT FILTER if Input.is_action_just_pressed("crt"): viewport_container.material.set_shader_param("enabled",!viewport_container.material.get_shader_param("enabled")) #Restart scene if Input.is_action_just_pressed("debug_restart"): if Game.score > Game.high_score: Game.high_score = Game.score Game.score = 0 Game.golds = 0 Game.stars = [false,false,false,false,false] Game.shards = 0 Game.arrows = 0 Game.lives = 2 Game.ac_climb.stop() get_tree().reload_current_scene() #Fullscreen if Input.is_action_just_pressed("fullscreen"): print(fullscreen) fullscreen = !fullscreen if fullscreen: OS.set_window_fullscreen(true) else: OS.set_window_fullscreen(false)