]> Untitled Git - lightcycles.git/blob - map/split_screen_container.gd
Added map split screen
[lightcycles.git] / map / split_screen_container.gd
1 class_name SplitScreenContainer
2 extends GridContainer
3
4
5 @onready var _viewport1: SubViewport = %SubViewport_Player1
6 @onready var _viewport2: SubViewport = %SubViewport_Player2
7 @onready var _viewport_map: SubViewport = %SubViewport_map
8
9
10 func set_splitscreen(players: Array[Player]) -> void:
11         var viewports = [_viewport1, _viewport2]
12         for player in players:
13                 var camera_rid = player.get_camera_rid()
14                 var viewport_rid = viewports.pop_front().get_viewport_rid()
15                 RenderingServer.viewport_attach_camera(viewport_rid, camera_rid)
16
17
18 func set_map(camera: Camera3D) -> void:
19         var camera_rid = camera.get_camera_rid()
20         var viewport_rid = _viewport_map.get_viewport_rid()
21         RenderingServer.viewport_attach_camera(viewport_rid, camera_rid)