X-Git-Url: http://git.purplebirdman.com/lightcycles.git/blobdiff_plain/324144cac84227aecd582e51288173e7fa0b9bda..d9c42b6592d56cd8bf20cae59b2bf1d32219f9e0:/map/world.gd diff --git a/map/world.gd b/map/world.gd index d1979f7..bd73e20 100644 --- a/map/world.gd +++ b/map/world.gd @@ -1,6 +1,40 @@ extends Node3D +var _player_wall_tscn = preload("res://player/player_wall.tscn") +var _player_wall_map = {} + + +func _ready() -> void: + _player_add_wall($player) + + func _input(event: InputEvent) -> void: if event.is_action_pressed("ui_cancel"): get_tree().quit() + + +func _process(_delta: float) -> void: + for player: Player in _player_wall_map.keys(): + var wall: PlayerWall = _player_wall_map[player] + wall.scale = Vector3(1, 1, (player.global_position - wall.global_position).length()) + + +func _player_add_wall(player: Player) -> void: + var wall: PlayerWall = _player_wall_tscn.instantiate() + + # start new wall from origin position + add_child(wall) + wall.global_position = player.global_position + wall.global_rotation = player.global_rotation + + _player_wall_map[player] = wall + + +func _on_player_destroyed(player: Player) -> void: + print("Player \"" + player.name + "\" destroyed") + + +func _on_player_player_restart(player: Player) -> void: + print("Player \"" + player.name + "\" wants to restart") + get_tree().reload_current_scene()