Files
SemesterGameJam2022/scripts/Train.gd
2022-12-10 22:49:09 +01:00

49 lines
934 B
GDScript

extends Node
class_name Train
signal hit(player, dmg)
signal game_over
var is_P1 = true
var current_distance = 0
var distance_from_start = 0
var current_speed = 5
var CANNONS = []
var STORAGES = []
#@onready var ENGINE = $Module/Engine
@onready var root = get_tree().root.get_child(0) as Game
func _ready():
for child in get_children():
if(child is Cannon):
CANNONS.append(child)
if(child is Storage):
STORAGES.append(child)
root.shoot.connect(_on_signal_shooting)
func _on_signal_shooting():
for cannon in CANNONS:
if cannon.shoot():
hit.emit(is_P1,cannon.DAMAGE)
func is_dead():
if current_speed <= 0:
current_speed = 0
game_over.emit()
return true
return false
func on_pickup(type, amount):
for s in STORAGES:
if s.currentType == type:
if s.currentStashValue + amount <= s.maxStashValue:
s.currentStashValue += amount
else:
s.currentStashValue = s.maxStashValue
return