added keep shield ui onscreen option
This commit is contained in:
@@ -12,6 +12,7 @@ const SAVE_PATH: String = "user://preferences.tres"
|
||||
@export var display_self_damage_indicators: bool = true
|
||||
@export var display_party_damage_indicators: bool = true
|
||||
@export var display_status_effect_damage_indicators: bool = true
|
||||
@export var always_show_shield_ui: bool = false
|
||||
|
||||
|
||||
func save_profile_to_disk() -> void:
|
||||
|
||||
@@ -1,10 +1,36 @@
|
||||
class_name EnemyGoal
|
||||
extends Node3D
|
||||
|
||||
signal goal_cleared()
|
||||
signal goal_occupied()
|
||||
|
||||
@export var audio_player: AudioStreamPlayer3D
|
||||
|
||||
var enemies_inside: int
|
||||
|
||||
|
||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||
if body is EnemyController:
|
||||
body.goal_entered()
|
||||
audio_player.play()
|
||||
|
||||
|
||||
func enemy_entered_shield_range(body: Node3D) -> void:
|
||||
if body is EnemyController:
|
||||
if enemies_inside == 0:
|
||||
goal_occupied.emit()
|
||||
enemies_inside += 1
|
||||
body.died.connect(enemy_died)
|
||||
body.reached_goal.connect(enemy_reached_goal)
|
||||
|
||||
|
||||
func enemy_died(enemy: Enemy) -> void:
|
||||
enemies_inside -= 1
|
||||
if enemies_inside == 0:
|
||||
goal_cleared.emit()
|
||||
|
||||
|
||||
func enemy_reached_goal(enemy: Enemy, penalty: int) -> void:
|
||||
enemies_inside -= 1
|
||||
if enemies_inside == 0:
|
||||
goal_cleared.emit()
|
||||
|
||||
@@ -140,6 +140,8 @@ func spawn_players() -> void:
|
||||
var player: Hero = player_scene.instantiate() as Hero
|
||||
player.placed_tower.connect(connect_tower_to_music)
|
||||
player.name = str(peer_id)
|
||||
level.enemy_goals[0].goal_cleared.connect(player.hud.shield_ui.fade_ui)
|
||||
level.enemy_goals[0].goal_occupied.connect(player.hud.shield_ui.show_ui)
|
||||
player.game_manager = self
|
||||
player.edit_tool.level = level
|
||||
player.hud.map_anchor = level
|
||||
@@ -159,8 +161,6 @@ func spawn_players() -> void:
|
||||
base_took_damage.connect(player.hud.set_lives_count)
|
||||
root_scene.add_child(player)
|
||||
p_i += 1
|
||||
print("objective health: " + str(objective_health))
|
||||
print("player ui health: " + str(player.hud.shield_ui.health))
|
||||
|
||||
|
||||
func ready_player(player_ready_true: bool) -> void:
|
||||
|
||||
Reference in New Issue
Block a user