extends Node3D
+@onready var _screen: SplitScreenContainer = $SplitScreenContainer
+
var _player_wall_tscn = preload("res://player/player_wall.tscn")
var _player_wall_map = {}
-
+var _player_color_map = {}
+
+var _input_map = [
+ {
+ "left": "player1_left",
+ "right": "player1_right",
+ "restart": "player1_restart"
+ },
+ {
+ "left": "player2_left",
+ "right": "player2_right",
+ "restart": "player2_restart"
+ }
+]
func _ready() -> void:
- _player_add_wall($player)
+ var players: Array[Player] = [$Player1, $Player2]
+
+ _screen.set_splitscreen(players)
+
+ for player in players:
+ player.set_input_map(_input_map.pop_front())
+ _player_color_map[player] = player.color
+ _player_add_wall(player)
func _input(event: InputEvent) -> void:
# start new wall from origin position
add_child(wall)
+ wall.set_color(_player_color_map[player])
wall.global_position = player.global_position
wall.global_rotation = player.global_rotation