Cleaned up @export and @onready ordering; commented out unfinished
features.
This commit is contained in:
parent
1ebba28e5d
commit
d739beb6f2
2 changed files with 42 additions and 42 deletions
66
player.gd
66
player.gd
|
|
@ -2,20 +2,20 @@ extends Area2D
|
||||||
|
|
||||||
signal died
|
signal died
|
||||||
signal damage_taken
|
signal damage_taken
|
||||||
signal shield_damage
|
# signal shield_damage
|
||||||
signal shield_ui
|
# signal shield_ui
|
||||||
|
|
||||||
|
|
||||||
var shader_active = false
|
|
||||||
|
|
||||||
@onready var screensize = get_viewport_rect().size
|
|
||||||
@export var max_shield = 10
|
|
||||||
var shield: int = max_shield:
|
|
||||||
set = set_shield
|
|
||||||
@export var speed = 150
|
@export var speed = 150
|
||||||
@export var cooldown = 0.25
|
@export var cooldown = 0.25
|
||||||
@export var bullet_scene : PackedScene
|
@export var bullet_scene : PackedScene
|
||||||
|
@export var max_shield: int = 10
|
||||||
|
var shield: int = max_shield:
|
||||||
|
set = set_shield
|
||||||
|
|
||||||
var can_shoot = true
|
var can_shoot = true
|
||||||
|
var shader_active = false
|
||||||
|
|
||||||
|
@onready var screensize = get_viewport_rect().size
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
start()
|
start()
|
||||||
|
|
@ -23,32 +23,10 @@ func _ready():
|
||||||
func start():
|
func start():
|
||||||
set_process(true)
|
set_process(true)
|
||||||
$Ship.show()
|
$Ship.show()
|
||||||
shield = max_shield
|
|
||||||
position = Vector2(screensize.x / 2, screensize.y - 64)
|
position = Vector2(screensize.x / 2, screensize.y - 64)
|
||||||
|
shield = max_shield
|
||||||
$GunCooldown.wait_time = cooldown
|
$GunCooldown.wait_time = cooldown
|
||||||
|
|
||||||
func set_shield(value: int):
|
|
||||||
var old_value: int = shield
|
|
||||||
shield = min(max_shield, value)
|
|
||||||
EventBus.shield_changed.emit(max_shield, old_value, shield)
|
|
||||||
shield_damage.emit()
|
|
||||||
if shield <= 0:
|
|
||||||
set_process(false)
|
|
||||||
$Ship.hide()
|
|
||||||
$Explosion.show()
|
|
||||||
$Explosion/AnimationPlayer.play("explosion-one-shot")
|
|
||||||
await $Explosion/AnimationPlayer.animation_finished
|
|
||||||
died.emit()
|
|
||||||
|
|
||||||
func shoot():
|
|
||||||
if not can_shoot:
|
|
||||||
return
|
|
||||||
can_shoot = false
|
|
||||||
$GunCooldown.start()
|
|
||||||
var b = bullet_scene.instantiate()
|
|
||||||
get_tree().root.add_child(b)
|
|
||||||
b.start(position + Vector2(0, -8))
|
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
var input = Input.get_vector("left", "right", "up", "down")
|
var input = Input.get_vector("left", "right", "up", "down")
|
||||||
if input.x > 0:
|
if input.x > 0:
|
||||||
|
|
@ -65,6 +43,28 @@ func _process(delta):
|
||||||
if Input.is_action_pressed("shoot"):
|
if Input.is_action_pressed("shoot"):
|
||||||
shoot()
|
shoot()
|
||||||
|
|
||||||
|
func shoot():
|
||||||
|
if not can_shoot:
|
||||||
|
return
|
||||||
|
can_shoot = false
|
||||||
|
$GunCooldown.start()
|
||||||
|
var b = bullet_scene.instantiate()
|
||||||
|
get_tree().root.add_child(b)
|
||||||
|
b.start(position + Vector2(0, -8))
|
||||||
|
|
||||||
|
func set_shield(value: int):
|
||||||
|
var old_value: int = shield
|
||||||
|
shield = min(max_shield, value)
|
||||||
|
EventBus.shield_changed.emit(max_shield, old_value, shield)
|
||||||
|
# shield_damage.emit()
|
||||||
|
if shield <= 0:
|
||||||
|
set_process(false)
|
||||||
|
$Ship.hide()
|
||||||
|
$Explosion.show()
|
||||||
|
$Explosion/AnimationPlayer.play("explosion-one-shot")
|
||||||
|
await $Explosion/AnimationPlayer.animation_finished
|
||||||
|
died.emit()
|
||||||
|
|
||||||
func _on_gun_cooldown_timeout():
|
func _on_gun_cooldown_timeout():
|
||||||
can_shoot = true
|
can_shoot = true
|
||||||
|
|
||||||
|
|
@ -81,7 +81,7 @@ func _on_area_entered(area):
|
||||||
|
|
||||||
|
|
||||||
func _on_damage_taken() -> void:
|
func _on_damage_taken() -> void:
|
||||||
emit_signal("shield_ui")
|
# emit_signal("shield_ui")
|
||||||
shader_active = true
|
shader_active = true
|
||||||
$Ship.material.set_shader_parameter("toggle", 1.0)
|
$Ship.material.set_shader_parameter("toggle", 1.0)
|
||||||
await get_tree().create_timer(1).timeout
|
await get_tree().create_timer(1).timeout
|
||||||
|
|
|
||||||
18
ui.gd
18
ui.gd
|
|
@ -3,10 +3,10 @@ extends MarginContainer
|
||||||
@onready var shield_bar = $HBoxContainer/ShieldBar
|
@onready var shield_bar = $HBoxContainer/ShieldBar
|
||||||
@onready var score_counter = $HBoxContainer/ScoreCounter
|
@onready var score_counter = $HBoxContainer/ScoreCounter
|
||||||
|
|
||||||
var shader_active = false
|
# var shader_active = false
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
get_node("Player.Ship").node_ready.connect("shield_ui", self, "_on_shield_ui")
|
# get_node("Player.Ship").node_ready.connect("shield_ui", self, "_on_shield_ui")
|
||||||
EventBus.shield_changed.connect(_on_shield_changed)
|
EventBus.shield_changed.connect(_on_shield_changed)
|
||||||
|
|
||||||
func update_score(value):
|
func update_score(value):
|
||||||
|
|
@ -30,10 +30,10 @@ func _on_shield_changed(max_value: int, old_value: int, new_value: int) -> void:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_shield_ui():
|
# func _on_shield_ui():
|
||||||
print("SHIELD FX!")
|
# print("SHIELD FX!")
|
||||||
shader_active = true
|
# shader_active = true
|
||||||
shield_bar.material.set_shader_parameter("toggle", 1.0)
|
# shield_bar.material.set_shader_parameter("toggle", 1.0)
|
||||||
await get_tree().create_timer(1).timeout
|
# await get_tree().create_timer(1).timeout
|
||||||
shader_active = false
|
# shader_active = false
|
||||||
shield_bar.material.set_shader_parameter("toggle", 0.0)
|
# shield_bar.material.set_shader_parameter("toggle", 0.0)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue