31224276ee
Add option in VisibilityEnabler2D to hide the parent for better performance
79 lines
4.1 KiB
XML
79 lines
4.1 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" version="3.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
|
|
<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.
|
|
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.
|
|
[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" />
|
|
<argument index="0" name="enabler" type="int" enum="VisibilityEnabler2D.Enabler" />
|
|
<description>
|
|
Returns whether the enabler identified by given [enum Enabler] constant is active.
|
|
</description>
|
|
</method>
|
|
<method name="set_enabler">
|
|
<return type="void" />
|
|
<argument index="0" name="enabler" type="int" enum="VisibilityEnabler2D.Enabler" />
|
|
<argument index="1" name="enabled" type="bool" />
|
|
<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], [AnimatedSprite] 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], [Particles2D] 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>
|
|
<member name="visibility_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true">
|
|
If [code]true[/code] and the parent is a [CanvasItem], the parent will be hidden.
|
|
</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 [Particles2D] nodes.
|
|
</constant>
|
|
<constant name="ENABLER_PARENT_PROCESS" value="3" enum="Enabler">
|
|
This enabler will stop the parent's [method Node._process] function.
|
|
</constant>
|
|
<constant name="ENABLER_PARENT_PHYSICS_PROCESS" value="4" enum="Enabler">
|
|
This enabler will stop the parent's [method Node._physics_process] function.
|
|
</constant>
|
|
<constant name="ENABLER_PAUSE_ANIMATED_SPRITES" value="5" enum="Enabler">
|
|
This enabler will stop [AnimatedSprite] nodes animations.
|
|
</constant>
|
|
<constant name="ENABLER_PARENT_VISIBILITY" value="6" enum="Enabler">
|
|
</constant>
|
|
<constant name="ENABLER_MAX" value="7" enum="Enabler">
|
|
Represents the size of the [enum Enabler] enum.
|
|
</constant>
|
|
</constants>
|
|
</class>
|