<?xml version="1.0" encoding="UTF-8" ?> <class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" version="4.0"> <brief_description> Enables certain nodes only when approximately visible. </brief_description> <description> The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and other nodes when they are not visible. It will only affect nodes with the same root node as the VisibilityEnabler2D, and the root node itself. [b]Note:[/b] For performance reasons, VisibilityEnabler2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need exact visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node. [b]Note:[/b] VisibilityEnabler2D 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="VisibilityEnabler2D.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="VisibilityEnabler2D.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], [RigidBody2D] nodes will be paused. </member> <member name="pause_animated_sprites" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true"> If [code]true[/code], [AnimatedSprite2D] 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> <member name="pause_particles" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true"> If [code]true[/code], [GPUParticles2D] nodes will be paused. </member> <member name="physics_process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="false"> If [code]true[/code], the parent's [method Node._physics_process] will be stopped. </member> <member name="process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="false"> If [code]true[/code], the parent's [method Node._process] will be stopped. </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 [RigidBody2D] nodes. </constant> <constant name="ENABLER_PAUSE_PARTICLES" value="2" enum="Enabler"> This enabler will stop [GPUParticles2D] nodes. </constant> <constant name="ENABLER_PARENT_PROCESS" value="3" enum="Enabler"> This enabler will stop the parent's _process function. </constant> <constant name="ENABLER_PARENT_PHYSICS_PROCESS" value="4" enum="Enabler"> This enabler will stop the parent's _physics_process function. </constant> <constant name="ENABLER_PAUSE_ANIMATED_SPRITES" value="5" enum="Enabler"> This enabler will stop [AnimatedSprite2D] nodes animations. </constant> <constant name="ENABLER_MAX" value="6" enum="Enabler"> Represents the size of the [enum Enabler] enum. </constant> </constants> </class>