112 lines
3.3 KiB
GDScript
112 lines
3.3 KiB
GDScript
extends Panel
|
|
|
|
@onready var livelabel: Label = $HBoxContainer4/HBoxContainer3/Label
|
|
@onready var coinlabel: Label = $HBoxContainer4/HBoxContainer/Label
|
|
|
|
@onready var stickspawner: Button = $HBoxContainer4/HBoxContainer4/Button2
|
|
const STICK_TRAP = preload("res://Game/Traps/stick_trap.tscn")
|
|
|
|
@onready var minespawner: Button = $HBoxContainer4/HBoxContainer4/Button3
|
|
const MINE = preload("res://Game/Traps/mine.tscn")
|
|
|
|
@onready var wallspawner: Button = $HBoxContainer4/HBoxContainer4/Button4
|
|
const WALL = preload("res://Game/Traps/wall.tscn")
|
|
|
|
@onready var archertowerspawn: Button = $HBoxContainer4/HBoxContainer2/Button2
|
|
const ARCHER_TOWER = preload("res://Game/Towers/archer_tower.tscn")
|
|
|
|
@onready var wizardtowerspawn: Button = $HBoxContainer4/HBoxContainer2/Button3
|
|
const WIZARD_TOWER = preload("res://Game/Towers/wizard_tower.tscn")
|
|
|
|
@onready var mortartowerspawn: Button = $HBoxContainer4/HBoxContainer2/Button4
|
|
const MORTAR_TOWER = preload("res://Game/Towers/mortar_tower.tscn")
|
|
|
|
@onready var delete_tower_button: Button = $HBoxContainer4/HBoxContainer5/Button4
|
|
const DELETER = preload("res://Game/Accesories/deleter.tscn")
|
|
|
|
var lives = 0
|
|
var coins = 0
|
|
|
|
func _ready() -> void:
|
|
stickspawner.connect("button_up", Spawn_Stick)
|
|
stickspawner.tooltip_text = "Cost: 10\nReturn: 5"
|
|
|
|
minespawner.connect("button_up", Spawn_Mine)
|
|
minespawner.tooltip_text = "Cost: 40\nReturn: 10"
|
|
|
|
wallspawner.connect("button_down", Spawn_Wall)
|
|
wallspawner.tooltip_text = "Cost: 60\nReturn: 0"
|
|
|
|
archertowerspawn.connect("button_up", Spawn_Archer)
|
|
archertowerspawn.tooltip_text = "Cost: 120\nReturn: 60"
|
|
|
|
wizardtowerspawn.connect("button_up", Spawn_wizard)
|
|
wizardtowerspawn.tooltip_text = "Cost: 100\nReturn: 30"
|
|
|
|
mortartowerspawn.connect("button_up", Spawn_Mortar)
|
|
mortartowerspawn.tooltip_text = "Cost: 160\nReturn: 80"
|
|
|
|
delete_tower_button.connect("button_up", Spawn_Deleter)
|
|
|
|
func _process(delta : float)-> void:
|
|
coinlabel.text = "Coins: " + str(coins)
|
|
livelabel.text = "Lives: " + str(lives)
|
|
|
|
func set_Lifes(amount) -> void:
|
|
lives = amount
|
|
|
|
func get_Lifes():
|
|
return lives
|
|
|
|
func Update_Lifes(amount) -> void:
|
|
lives += amount
|
|
|
|
func Update_Coins(amount) -> void:
|
|
coins += amount
|
|
|
|
func Spawn_Stick() -> void:
|
|
if coins >= 10:
|
|
coins -= 10
|
|
var stick = STICK_TRAP.instantiate()
|
|
stick.name = "StickTrap-" + str(randi())
|
|
get_parent().add_child(stick)
|
|
|
|
func Spawn_Mine() -> void:
|
|
if coins >= 40:
|
|
coins -= 40
|
|
var mine = MINE.instantiate()
|
|
mine.name = "Mine-" + str(randi())
|
|
get_parent().add_child(mine)
|
|
|
|
func Spawn_Wall() -> void:
|
|
if coins >= 60:
|
|
coins -= 60
|
|
var wall = WALL.instantiate()
|
|
wall.name = "Wall-" + str(randi())
|
|
get_parent().add_child(wall)
|
|
|
|
func Spawn_Archer() -> void:
|
|
if coins >= 120:
|
|
coins -= 120
|
|
var tower = ARCHER_TOWER.instantiate()
|
|
tower.name = "ArcherTower-" + str(randi())
|
|
get_parent().add_child(tower)
|
|
|
|
func Spawn_wizard() -> void:
|
|
if coins >= 100:
|
|
coins -= 100
|
|
var tower = WIZARD_TOWER.instantiate()
|
|
tower.name = "WizardTower-" + str(randi())
|
|
get_parent().add_child(tower)
|
|
|
|
func Spawn_Mortar() -> void:
|
|
if coins >= 160:
|
|
coins -= 160
|
|
var tower = MORTAR_TOWER.instantiate()
|
|
tower.name = "MortarTower-" + str(randi())
|
|
get_parent().add_child(tower)
|
|
|
|
func Spawn_Deleter() -> void:
|
|
var deleter = DELETER.instantiate()
|
|
get_parent().add_child(deleter)
|