<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisibleOnScreenNotifier2D" inherits="Node2D" version="4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Detects when the node extents are visible on screen.
	</brief_description>
	<description>
		The VisibleOnScreenNotifier2D detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a viewport.
		If you want nodes to be disabled automatically when they exit the screen, use [VisibleOnScreenEnabler2D] instead.
		[b]Note:[/b] VisibleOnScreenNotifier2D uses the render culling code to determine whether it's visible on screen, which also means that its [member CanvasItem.visible] must be [code]true[/code] to work correctly.
	</description>
	<tutorials>
		<link title="2D Dodge The Creeps Demo">https://godotengine.org/asset-library/asset/515</link>
	</tutorials>
	<methods>
		<method name="is_on_screen" qualifiers="const">
			<return type="bool" />
			<description>
				If [code]true[/code], the bounding rectangle is on the screen.
				[b]Note:[/b] It takes one frame for the node's visibility to be assessed once added to the scene tree, so this method will return [code]false[/code] right after it is instantiated, even if it will be on screen in the draw pass.
			</description>
		</method>
	</methods>
	<members>
		<member name="rect" type="Rect2" setter="set_rect" getter="get_rect" default="Rect2(-10, -10, 20, 20)">
			The VisibleOnScreenNotifier2D's bounding rectangle.
		</member>
	</members>
	<signals>
		<signal name="screen_entered">
			<description>
				Emitted when the VisibleOnScreenNotifier2D enters the screen.
			</description>
		</signal>
		<signal name="screen_exited">
			<description>
				Emitted when the VisibleOnScreenNotifier2D exits the screen.
			</description>
		</signal>
	</signals>
</class>