35 lines
939 B
GDScript
35 lines
939 B
GDScript
extends CanvasLayer
|
|
|
|
@export var box_player1: HBoxContainer
|
|
@export var label_score: Label
|
|
var player_life:= 3
|
|
var score := 0
|
|
var time := 0.0
|
|
@export var show_score :PackedScene = load("res://scene/score_particles.tscn")
|
|
|
|
func _ready() -> void:
|
|
GameController.connect("player_hit", update_player)
|
|
GameController.connect("point_gain", update_score)
|
|
|
|
func _process(delta: float) -> void:
|
|
time += delta
|
|
|
|
func update_score(add : int, ast_pos: Vector2)->void:
|
|
var temp = 2 ** (5-add) * (1 + (time / 100))
|
|
spawn_score(temp,ast_pos)
|
|
score += temp
|
|
label_score.text = str(score)
|
|
|
|
func update_player(_type:bool) -> void:
|
|
player_life -= 1
|
|
if player_life < 0:
|
|
GameController.emit_signal("go_to_score_saver", score)
|
|
box_player1.get_children(false)[player_life].visible = false
|
|
|
|
|
|
func spawn_score(score: int,pos : Vector2)->void:
|
|
var new = show_score.instantiate()
|
|
new.global_position = pos
|
|
new.score = score
|
|
get_parent().add_child(new)
|