Cow_Life_Sim_RPG/Locations/Cave/CaveWallWaiting.gd

61 lines
1.2 KiB
GDScript

extends Node2D
signal openedSignal
var pattern = [1,8,-1,8,1]
var patternIndex = 0
var opened = false
var fullyMoved = false
var moveSpeed = -25
var amountMoved = 0
var amountToMove = 250
var timeWaited = 0
func _ready():
GameVariables.globalMessage.connect(global_message_recieved)
func _process(delta):
if patternIndex < pattern.size() and pattern[patternIndex] == -1:
timeWaited += delta
if timeWaited >= 3:
timeWaited = 0
patternIndex += 1
print("ready")
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] == -1:
patternIndex = 0
timeWaited = 0
if pattern[patternIndex] == int(dootNumber):
patternIndex += 1
elif pattern[patternIndex] == int(dootNumber):
patternIndex += 1
if patternIndex >= pattern.size():
open()
patternIndex = 0
timeWaited = 0
else:
patternIndex = 0
timeWaited = 0
if pattern[patternIndex] == int(dootNumber):
patternIndex += 1
func open():
opened = true
openedSignal.emit()