godot-plateformer/addons/reedcamera/scripts/ReedCameraGlobal.gd

35 lines
974 B
GDScript3
Raw Normal View History

@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