godot-shooter / commit
Trying to avoid using `$Player` or similar code in GDScript, and instead rely on something like `onready var player: Player = $Player`, and then always use `player`.
scenes/World.gd | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/scenes/World.gd b/scenes/World.gd index eb95dca..52375b3 100644 --- a/scenes/World.gd +++ b/scenes/World.gd @@ -22,17 +22,17 @@ func enemy_killed(_position: Vector2): player.score += 5 player.show_message("Enemy killed!", 1) func health_consumed(_data): - $Player.heal(10) + player.heal(10) func gold_consumed(_data): completed_objectives += 1 player.score += 1 func weapon_consumed(data): var weapon: Weapon = data - var is_same_weapon = $Player.weapon.name == weapon.name + var is_same_weapon = player.weapon.name == weapon.name if is_same_weapon && weapon.ammo != INF: - $Player.weapon.ammo += $Player.weapon.reload_size + player.weapon.ammo += player.weapon.reload_size else: - $Player.weapon = weapon + player.weapon = weapon func create_enemy() -> Enemy: var enemy = Enemy.instance() @@ -102,7 +102,7 @@ func get_new_environment_position(dist_ratio: float = 1.0) -> Vector2: return potential_pos func _input(_event: InputEvent) -> void: - if $Player.dead: + if player.dead: return func _process(_delta: float) -> void: @@ -143,12 +143,12 @@ func _process(_delta: float) -> void: player.update_radar(filteredEnemies, Color.red) func _on_Destination_body_entered(body: Node) -> void: - if body == $Player: + if body == player: player.clear_destination() func sort_enemies_ascending_distance(a: Enemy,b: Enemy): - var distA = $Player.global_position.distance_to(a.global_position) - var distB = $Player.global_position.distance_to(b.global_position) + var distA = player.global_position.distance_to(a.global_position) + var distB = player.global_position.distance_to(b.global_position) var result = distA < distB return result @@ -158,7 +158,7 @@ func filter_invalid_enemies(enemy: Enemy) -> bool: return true func _on_ShootTimer_timeout() -> void: - if $Player.dead: + if player.dead: return var enemies = get_tree().get_nodes_in_group("enemies") for e in enemies: @@ -170,10 +170,10 @@ func _on_ShootTimer_timeout() -> void: filteredEnemies.sort_custom(self, "sort_enemies_ascending_distance") var closest_enemy: Enemy = filteredEnemies[0] var dist = closest_enemy.global_position.distance_to($Player.global_position) - if dist < $Player.weapon.shooting_range: + if dist < player.weapon.shooting_range: closest_enemy.is_targeted = true - $Player.shoot_at(closest_enemy.global_position) - $PlayerToTarget.points[0] = $Player.global_position + player.shoot_at(closest_enemy.global_position) + $PlayerToTarget.points[0] = player.global_position $PlayerToTarget.points[1] = closest_enemy.global_position func _on_Button_pressed() -> void: @@ -192,4 +192,5 @@ func _on_Player_debug() -> void: # player.score += 1 # player.kill() # completed_objectives = max_objectives + player.debug() pass # Replace with function body.