extends CanvasLayer #Console by hazel #Const const ENTRY_SEQUENCE = ["4", "1", "5"] #Export export var max_lines: int = 10 export var opacity: float = 0.5 #Onready onready var console = $Console onready var code_label = get_parent().get_node("Main/Control/ViewportContainer/Viewport/CheatLayer/CheatLabel") ##Runtime var lines: int = 0 var time: float = 0.0 var n: int = 0 var debug = false # cheat code entry var entry_index = 0 var entry = false var code = "" func _ready(): #Auto do debug when playtesting if not OS.is_debug_build(): console.visible = false debug = false else: console.visible = false debug = true $Console/Panel.modulate.a = opacity console.modulate.a = opacity func _physics_process(delta): #DEBUG if debug == true && !entry && !entry_index > 0: #Show console if Input.is_action_just_pressed("debug_show"): console.visible = !console.visible #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() #Move player to mouse if Input.is_action_pressed("debug_move_player"): Game.get_map().get_node("Player").position = get_viewport().get_mouse_position() Debug.print(get_viewport().get_mouse_position()) #Debug 1 if Input.is_action_just_pressed("debug_1"): Game.change_map(load("res://maps/level_select.tscn")) #Debug 2 if Input.is_action_just_pressed("debug_2"): var save = ConfigFile.new() save.load(str("user://file") + str(1) + str(".pr")) Game.score = save.get_value(str(Game.current_level),"Score",0) func print(text): lines += 1 if lines > 1: console.text += "\n" if lines > 10: var n = console.text.find("\n") var t = console.text t.erase(0, n+1) lines -= 1 console.text = t + str(text) else: console.text += str(text) func _on_visible_toggled(button_pressed): if button_pressed: console.visible = true else: console.visible = false func _input(event): if event is InputEventKey && event.is_pressed(): var character = OS.get_scancode_string(event.scancode) if character.length() > 1: character = "" if entry: if event.scancode == KEY_ENTER: _enter_code() entry = false code = "" elif event.scancode == KEY_BACKSPACE: code.erase(code.length() - 1, 1) else: code += character code_label.text = code else: if character == ENTRY_SEQUENCE[entry_index]: entry_index += 1 if entry_index >= ENTRY_SEQUENCE.size(): entry = true entry_index = 0 _on_entry() func _on_entry(): Game.play_sound(Game.a_star, Game.ac_cheat) func _enter_code(): match code: "30385": for gold in get_tree().get_nodes_in_group("gold"): gold.get_node("AnimatedSprite").frames = preload("res://graphics/collectibles/30385_frames.tres") "1989": Game.play_sound(Game.a_die, Game.ac_die) for enemy in get_tree().get_nodes_in_group("enemy"): enemy.queue_free()