41 lines
851 B
GDScript
41 lines
851 B
GDScript
extends Node2D
|
|
|
|
var pattern = [2,3,4,5,3,1,2]
|
|
var patternIndex = 0
|
|
|
|
var opened = false
|
|
var fullyMoved = false
|
|
|
|
var moveSpeed = 25
|
|
|
|
var amountMoved = 0
|
|
var amountToMove = 250
|
|
|
|
func _ready():
|
|
GameVariables.globalMessage.connect(global_message_recieved)
|
|
|
|
func _process(delta):
|
|
if opened and !fullyMoved:
|
|
var amountToMoved = moveSpeed*delta
|
|
position.x += amountToMoved
|
|
amountMoved += abs(amountToMoved)
|
|
|
|
if amountMoved >= amountToMove:
|
|
fullyMoved = true
|
|
|
|
func global_message_recieved(message:String):
|
|
if message.substr(0,4) == "doot":
|
|
var dootNumber = message.substr(4,5)
|
|
if pattern[patternIndex] == int(dootNumber):
|
|
patternIndex += 1
|
|
if patternIndex >= pattern.size():
|
|
open()
|
|
patternIndex = 0
|
|
else:
|
|
patternIndex = 0
|
|
if pattern[patternIndex] == int(dootNumber):
|
|
patternIndex += 1
|
|
|
|
func open():
|
|
opened = true
|