35 lines
974 B
GDScript3
35 lines
974 B
GDScript3
|
|
@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
|