@tool extends Node const _CONSTANTS = preload("res://addons/reedcamera/_data/CameraSystemConst.gd") var _screen_size : Vector2i func _enter_tree() -> void: if not Engine.has_singleton(_CONSTANTS.CAMERA_SYSTEM_NAME): Engine.register_singleton(_CONSTANTS.CAMERA_SYSTEM_NAME, self) func _ready() -> void: # Setting default screensize _screen_size = Vector2i( ProjectSettings.get_setting("display/window/size/viewport_width"), ProjectSettings.get_setting("display/window/size/viewport_height") ) # For editor if Engine.is_editor_hint(): ProjectSettings.settings_changed.connect(func(): _screen_size = Vector2i( ProjectSettings.get_setting("display/window/size/viewport_width"), ProjectSettings.get_setting("display/window/size/viewport_height") ) ) # For runtime else: get_tree().get_root().size_changed.connect(func(): _screen_size = get_viewport().get_visible_rect().size ) func get_screen_size() -> Vector2i: return _screen_size