]> Untitled Git - lightcycles.git/blob - map/world.gd
bd73e20dbec4b254b38307202d8074d6ea634d7a
[lightcycles.git] / map / world.gd
1 extends Node3D
2
3
4 var _player_wall_tscn = preload("res://player/player_wall.tscn")
5 var _player_wall_map = {}
6
7
8 func _ready() -> void:
9         _player_add_wall($player)
10
11
12 func _input(event: InputEvent) -> void:
13         if event.is_action_pressed("ui_cancel"):
14                 get_tree().quit()
15
16
17 func _process(_delta: float) -> void:
18         for player: Player in _player_wall_map.keys():
19                 var wall: PlayerWall = _player_wall_map[player]
20                 wall.scale = Vector3(1, 1, (player.global_position - wall.global_position).length())
21
22
23 func _player_add_wall(player: Player) -> void:
24         var wall: PlayerWall = _player_wall_tscn.instantiate()
25         
26         # start new wall from origin position
27         add_child(wall)
28         wall.global_position = player.global_position
29         wall.global_rotation = player.global_rotation
30         
31         _player_wall_map[player] = wall
32
33
34 func _on_player_destroyed(player: Player) -> void:
35         print("Player \"" + player.name + "\" destroyed")
36
37
38 func _on_player_player_restart(player: Player) -> void:
39         print("Player \"" + player.name + "\" wants to restart")
40         get_tree().reload_current_scene()