File: VisibilityEnabler.xml

package info (click to toggle)
godot 3.6%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 270,588 kB
  • sloc: cpp: 971,579; ansic: 617,953; xml: 80,302; asm: 17,498; cs: 14,559; python: 11,744; java: 9,681; javascript: 4,654; pascal: 1,176; sh: 896; objc: 529; makefile: 176
file content (50 lines) | stat: -rw-r--r-- 2,595 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisibilityEnabler" inherits="VisibilityNotifier" 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 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.
		If you just want to receive notifications, use [VisibilityNotifier] instead.
		[b]Note:[/b] VisibilityEnabler uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account (unless you are using [Portal]s). The heuristic is an implementation detail and may change in future versions. If you need precise visibility checking, use another method such as adding an [Area] node as a child of a [Camera] node and/or [method Vector3.dot].
		[b]Note:[/b] VisibilityEnabler 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="VisibilityEnabler.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="VisibilityEnabler.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], [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>