combine code entry with debug, add code visual, fix non-symbol keys in cheat codes
This commit is contained in:
parent
349a46b8fa
commit
fa58ac21a1
6 changed files with 61 additions and 44 deletions
14
control.tscn
14
control.tscn
|
@ -1,9 +1,10 @@
|
||||||
[gd_scene load_steps=6 format=2]
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scripts/scaling.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/scaling.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://graphics/borders/prideborder.png" type="Texture" id=2]
|
[ext_resource path="res://graphics/borders/prideborder.png" type="Texture" id=2]
|
||||||
[ext_resource path="res://maps/cave.tscn" type="PackedScene" id=3]
|
[ext_resource path="res://maps/cave.tscn" type="PackedScene" id=3]
|
||||||
[ext_resource path="res://scripts/crt.gdshader" type="Shader" id=4]
|
[ext_resource path="res://scripts/crt.gdshader" type="Shader" id=4]
|
||||||
|
[ext_resource path="res://scripts/theme.tres" type="Theme" id=5]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id=1]
|
[sub_resource type="ShaderMaterial" id=1]
|
||||||
shader = ExtResource( 4 )
|
shader = ExtResource( 4 )
|
||||||
|
@ -47,3 +48,14 @@ handle_input_locally = false
|
||||||
render_target_update_mode = 3
|
render_target_update_mode = 3
|
||||||
|
|
||||||
[node name="Map" parent="ViewportContainer/Viewport" instance=ExtResource( 3 )]
|
[node name="Map" parent="ViewportContainer/Viewport" instance=ExtResource( 3 )]
|
||||||
|
|
||||||
|
[node name="CheatLayer" type="CanvasLayer" parent="ViewportContainer/Viewport"]
|
||||||
|
layer = 127
|
||||||
|
|
||||||
|
[node name="CheatLabel" type="Label" parent="ViewportContainer/Viewport/CheatLayer"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_bottom = -4.0
|
||||||
|
theme = ExtResource( 5 )
|
||||||
|
align = 2
|
||||||
|
valign = 2
|
||||||
|
|
|
@ -14,8 +14,7 @@ script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="Console" type="Label" parent="."]
|
[node name="Console" type="Label" parent="."]
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
margin_bottom = 14.0
|
size_flags_vertical = 2
|
||||||
size_flags_vertical = 0
|
|
||||||
|
|
||||||
[node name="Panel" type="Panel" parent="Console"]
|
[node name="Panel" type="Panel" parent="Console"]
|
||||||
show_behind_parent = true
|
show_behind_parent = true
|
||||||
|
|
|
@ -18,7 +18,6 @@ config/icon="res://icon.png"
|
||||||
|
|
||||||
Game="*res://game.tscn"
|
Game="*res://game.tscn"
|
||||||
Debug="*res://objects/debug.tscn"
|
Debug="*res://objects/debug.tscn"
|
||||||
CodeEntry="*res://scripts/code_entry.gd"
|
|
||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
extends Node
|
|
||||||
|
|
||||||
const ENTRY_SEQUENCE = ["4", "1", "5"]
|
|
||||||
|
|
||||||
var entry_index = 0
|
|
||||||
var entry = false
|
|
||||||
var code = ""
|
|
||||||
|
|
||||||
func _input(event):
|
|
||||||
if event is InputEventKey && event.is_pressed():
|
|
||||||
var character = OS.get_scancode_string(event.scancode)
|
|
||||||
|
|
||||||
if entry:
|
|
||||||
if event.scancode == KEY_ENTER:
|
|
||||||
_enter_code()
|
|
||||||
entry = false
|
|
||||||
code = ""
|
|
||||||
else:
|
|
||||||
code += character
|
|
||||||
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_die, Game.ac_cheat)
|
|
||||||
|
|
||||||
func _enter_code():
|
|
||||||
match code:
|
|
||||||
"30385":
|
|
||||||
Debug.print("Woohoo crystals!")
|
|
||||||
"1989":
|
|
||||||
for enemy in get_tree().get_nodes_in_group("enemy"):
|
|
||||||
enemy.queue_free()
|
|
|
@ -1,17 +1,25 @@
|
||||||
extends CanvasLayer
|
extends CanvasLayer
|
||||||
|
|
||||||
#Console by hazel
|
#Console by hazel
|
||||||
|
#Const
|
||||||
|
const ENTRY_SEQUENCE = ["4", "1", "5"]
|
||||||
#Export
|
#Export
|
||||||
export var max_lines: int = 10
|
export var max_lines: int = 10
|
||||||
export var opacity: float = 0.5
|
export var opacity: float = 0.5
|
||||||
#Onready
|
#Onready
|
||||||
onready var console: Label = $Console
|
onready var console = $Console
|
||||||
|
onready var code_label = get_parent().get_node("Main/Control/ViewportContainer/Viewport/CheatLayer/CheatLabel")
|
||||||
##Runtime
|
##Runtime
|
||||||
var lines: int = 0
|
var lines: int = 0
|
||||||
var time: float = 0.0
|
var time: float = 0.0
|
||||||
var n: int = 0
|
var n: int = 0
|
||||||
var debug = false
|
var debug = false
|
||||||
|
|
||||||
|
# cheat code entry
|
||||||
|
var entry_index = 0
|
||||||
|
var entry = false
|
||||||
|
var code = ""
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
#Auto do debug when playtesting
|
#Auto do debug when playtesting
|
||||||
|
@ -26,7 +34,7 @@ func _ready():
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
#DEBUG
|
#DEBUG
|
||||||
if debug == true && !CodeEntry.entry && !CodeEntry.entry_index > 0:
|
if debug == true && !entry && !entry_index > 0:
|
||||||
#Show console
|
#Show console
|
||||||
if Input.is_action_just_pressed("debug_show"):
|
if Input.is_action_just_pressed("debug_show"):
|
||||||
console.visible = !console.visible
|
console.visible = !console.visible
|
||||||
|
@ -67,9 +75,44 @@ func print(text):
|
||||||
else:
|
else:
|
||||||
console.text += str(text)
|
console.text += str(text)
|
||||||
|
|
||||||
|
|
||||||
func _on_visible_toggled(button_pressed):
|
func _on_visible_toggled(button_pressed):
|
||||||
if button_pressed:
|
if button_pressed:
|
||||||
console.visible = true
|
console.visible = true
|
||||||
else:
|
else:
|
||||||
console.visible = false
|
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":
|
||||||
|
Debug.print("Woohoo crystals!")
|
||||||
|
"1989":
|
||||||
|
Game.play_sound(Game.a_die, Game.ac_die)
|
||||||
|
for enemy in get_tree().get_nodes_in_group("enemy"):
|
||||||
|
enemy.queue_free()
|
||||||
|
|
|
@ -3,6 +3,7 @@ extends Control
|
||||||
var multiple = 1
|
var multiple = 1
|
||||||
onready var viewport = $ViewportContainer
|
onready var viewport = $ViewportContainer
|
||||||
onready var border = $TextureRect
|
onready var border = $TextureRect
|
||||||
|
onready var cheat_label = $ViewportContainer/Viewport/
|
||||||
# SCALE MODE: INTEGER, FIT, FILL
|
# SCALE MODE: INTEGER, FIT, FILL
|
||||||
export var scale_mode = 0
|
export var scale_mode = 0
|
||||||
# INTEGER SCALE SETTINGS
|
# INTEGER SCALE SETTINGS
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue