<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisibilityEnabler" inherits="VisibilityNotifier" version="3.2">
	<brief_description>
		Enables certain nodes only when visible.
	</brief_description>
	<description>
		The VisibilityEnabler will disable [RigidBody] and [AnimationPlayer] nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler itself.
		Note that VisibilityEnabler will not affect nodes added after scene initialization.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="is_enabler_enabled" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="enabler" type="int" enum="VisibilityEnabler.Enabler">
			</argument>
			<description>
				Returns whether the enabler identified by given [enum Enabler] constant is active.
			</description>
		</method>
		<method name="set_enabler">
			<return type="void">
			</return>
			<argument index="0" name="enabler" type="int" enum="VisibilityEnabler.Enabler">
			</argument>
			<argument index="1" name="enabled" type="bool">
			</argument>
			<description>
				Sets active state of the enabler identified by given [enum Enabler] constant.
			</description>
		</method>
	</methods>
	<members>
		<member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
			If [code]true[/code], [RigidBody] nodes will be paused.
		</member>
		<member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
			If [code]true[/code], [AnimationPlayer] nodes will be paused.
		</member>
	</members>
	<constants>
		<constant name="ENABLER_PAUSE_ANIMATIONS" value="0" enum="Enabler">
			This enabler will pause [AnimationPlayer] nodes.
		</constant>
		<constant name="ENABLER_FREEZE_BODIES" value="1" enum="Enabler">
			This enabler will freeze [RigidBody] nodes.
		</constant>
		<constant name="ENABLER_MAX" value="2" enum="Enabler">
			Represents the size of the [enum Enabler] enum.
		</constant>
	</constants>
</class>
