godot_tiny_crate/Script/Switch.gd
2020-09-25 13:29:47 -04:00

48 lines
693 B
GDScript

tool
extends Actor
class_name Switch
export var color := "red"
var is_on := false
var is_last := false
var node_sprite : Sprite
var node_audio : AudioStreamPlayer2D
func _ready():
if Engine.editor_hint:
return
add_to_group("switch_" + color)
node_sprite = $Sprite
node_audio = $AudioStreamPlayer2D
func _process(delta):
if Engine.editor_hint:
return
is_last = is_on
is_on = is_area_solid_actor(position.x, position.y)
if is_on:
if is_last:
pass
else:
node_sprite.position.y = 2
noise()
else:
if is_last:
node_sprite.position.y = 0
noise()
else:
pass
func noise():
node_audio.pitch_scale = 1 + rand_range(-0.2, 0.2)
node_audio.play()