revo-jailbreak/scripts/debug.gd
2023-01-10 00:07:00 -05:00

75 lines
1.8 KiB
GDScript

extends CanvasLayer
#Console by hazel
#Export
export var max_lines: int = 10
export var opacity: float = 0.5
#Onready
onready var console: Label = $Console
##Runtime
var lines: int = 0
var time: float = 0.0
var n: int = 0
var debug = false
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:
#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