<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisibilityNotifier2D" inherits="Node2D" version="3.5">
	<brief_description>
		Detects approximately when the node is visible on screen.
	</brief_description>
	<description>
		The VisibilityNotifier2D 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 [VisibilityEnabler2D] instead.
		[b]Note:[/b] For performance reasons, VisibilityNotifier2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need precise visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node.
	</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 VisibilityNotifier2D's bounding rectangle.
		</member>
	</members>
	<signals>
		<signal name="screen_entered">
			<description>
				Emitted when the VisibilityNotifier2D enters the screen.
			</description>
		</signal>
		<signal name="screen_exited">
			<description>
				Emitted when the VisibilityNotifier2D exits the screen.
			</description>
		</signal>
		<signal name="viewport_entered">
			<argument index="0" name="viewport" type="Viewport" />
			<description>
				Emitted when the VisibilityNotifier2D enters a [Viewport]'s view.
			</description>
		</signal>
		<signal name="viewport_exited">
			<argument index="0" name="viewport" type="Viewport" />
			<description>
				Emitted when the VisibilityNotifier2D exits a [Viewport]'s view.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>
