2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 09:03:48 +08:00
<class name= "VisibilityEnabler2D" inherits= "VisibilityNotifier2D" version= "4.0" >
2017-09-13 04:42:36 +08:00
<brief_description >
2020-04-18 04:04:19 +08:00
Enables certain nodes only when approximately visible.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2019-09-04 10:53:13 +08:00
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.
2020-07-18 06:29:03 +08:00
If you just want to receive notifications, use [VisibilityNotifier2D] instead.
[b]Note:[/b] For performance reasons, VisibilityEnabler2D 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.
2020-04-18 04:04:19 +08:00
[b]Note:[/b] VisibilityEnabler2D will not affect nodes added after scene initialization.
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
2019-06-27 22:10:09 +08:00
<method name= "is_enabler_enabled" qualifiers= "const" >
<return type= "bool" >
</return>
<argument index= "0" name= "enabler" type= "int" enum= "VisibilityEnabler2D.Enabler" >
</argument>
<description >
2020-01-12 21:30:21 +08:00
Returns whether the enabler identified by given [enum Enabler] constant is active.
2019-06-27 22:10:09 +08:00
</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 >
2020-01-09 05:51:16 +08:00
Sets active state of the enabler identified by given [enum Enabler] constant.
2019-06-27 22:10:09 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "freeze_bodies" type= "bool" setter= "set_enabler" getter= "is_enabler_enabled" default= "true" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], [RigidBody2D] nodes will be paused.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "pause_animated_sprites" type= "bool" setter= "set_enabler" getter= "is_enabler_enabled" default= "true" >
2020-03-31 00:22:57 +08:00
If [code]true[/code], [AnimatedSprite2D] nodes will be paused.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "pause_animations" type= "bool" setter= "set_enabler" getter= "is_enabler_enabled" default= "true" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], [AnimationPlayer] nodes will be paused.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "pause_particles" type= "bool" setter= "set_enabler" getter= "is_enabler_enabled" default= "true" >
2020-03-31 00:22:57 +08:00
If [code]true[/code], [GPUParticles2D] nodes will be paused.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "physics_process_parent" type= "bool" setter= "set_enabler" getter= "is_enabler_enabled" default= "false" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], the parent's [method Node._physics_process] will be stopped.
2017-10-12 05:54:43 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "process_parent" type= "bool" setter= "set_enabler" getter= "is_enabler_enabled" default= "false" >
2018-12-20 20:46:54 +08:00
If [code]true[/code], the parent's [method Node._process] will be stopped.
2017-09-13 04:42:36 +08:00
</member>
</members>
<constants >
2017-11-25 06:16:30 +08:00
<constant name= "ENABLER_PAUSE_ANIMATIONS" value= "0" enum= "Enabler" >
2017-09-13 04:42:36 +08:00
This enabler will pause [AnimationPlayer] nodes.
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ENABLER_FREEZE_BODIES" value= "1" enum= "Enabler" >
2017-10-22 18:56:11 +08:00
This enabler will freeze [RigidBody2D] nodes.
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ENABLER_PAUSE_PARTICLES" value= "2" enum= "Enabler" >
2020-03-31 00:22:57 +08:00
This enabler will stop [GPUParticles2D] nodes.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ENABLER_PARENT_PROCESS" value= "3" enum= "Enabler" >
2017-09-13 04:42:36 +08:00
This enabler will stop the parent's _process function.
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ENABLER_PARENT_PHYSICS_PROCESS" value= "4" enum= "Enabler" >
2017-10-12 05:54:43 +08:00
This enabler will stop the parent's _physics_process function.
2017-09-13 04:42:36 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ENABLER_PAUSE_ANIMATED_SPRITES" value= "5" enum= "Enabler" >
2020-03-31 00:22:57 +08:00
This enabler will stop [AnimatedSprite2D] nodes animations.
2017-10-22 18:56:11 +08:00
</constant>
2017-11-25 06:16:30 +08:00
<constant name= "ENABLER_MAX" value= "6" enum= "Enabler" >
2019-06-27 17:10:53 +08:00
Represents the size of the [enum Enabler] enum.
2017-09-13 04:42:36 +08:00
</constant>
</constants>
</class>