class_name SplitScreenContainer extends GridContainer @onready var _viewport1: SubViewport = %SubViewport_Player1 @onready var _viewport2: SubViewport = %SubViewport_Player2 @onready var _viewport_map: SubViewport = %SubViewport_map func set_splitscreen(players: Array[Player]) -> void: var viewports = [_viewport1, _viewport2] for player in players: var camera_rid = player.get_camera_rid() var viewport_rid = viewports.pop_front().get_viewport_rid() RenderingServer.viewport_attach_camera(viewport_rid, camera_rid) func set_map(camera: Camera3D) -> void: var camera_rid = camera.get_camera_rid() var viewport_rid = _viewport_map.get_viewport_rid() RenderingServer.viewport_attach_camera(viewport_rid, camera_rid)