User Tools

Site Tools


dragengine:modules:dragonscript:behavior_lightdimmer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
dragengine:modules:dragonscript:behavior_lightdimmer [2025/06/19 12:37] – removed - external edit (Unknown date) 127.0.0.1dragengine:modules:dragonscript:behavior_lightdimmer [2025/06/19 12:37] (current) – ↷ Page name changed from dragengine:modules:dragonscript:behavior_lightdimmerr to dragengine:modules:dragonscript:behavior_lightdimmer dragonlord
Line 1: Line 1:
 +{{tag>dragonscript behavior}}
 +<WRAP youarehere>
 +[[:start|Start Page]] >> [[main|DragonScript Scripting Language]] >> [[dragengine:modules:dragonscript:abstractions|Abstraction Layers: How you want to build your Game]] >> [[dragengine:modules:dragonscript:behavior_elements|Behavior Elements]] >> **ECBehaviorLightDimmer**
 +</WRAP>
 +
 +  * [[behaviors_use_cases|Behaviors Explained: By Use-Case]]
 +  * [[behaviors_a_to_z|Behaviors Explained: From A to Z]]
 +
 +====== ECBehaviorLightDimmer ======
 +
 +Behavior element behavior adding dimming support to [[behavior_light|ECBehaviorLight]].
 +
 +This behavior modifies the light parameters of [[behavior_light|ECBehaviorLight]] instances present in the element to make lights gently raise and lower intensity when (de)activated.
 +
 +To use this behavior add first an [[behavior_light|ECBehaviorLight]]. Adding ECBehaviorLightDimmer will then register itself as listener to the [[behavior_light|ECBehaviorLight]] and also set it to use custom light handling.
 +
 +====== Instance Counts ======
 +This behavior can be used multiple times on an element to affect different lights. Use the behavior identifier to tell them apart.
 +
 +====== Element Class Properties ======
 +Element class properties have the prefix ''lightDimmer.'' or ''lightDimmer({id}).'' if id is not empty.
 +
 +===== timeRaise =====
 +Set time in seconds required to raise light intensity to full brightness.
 +  * Full name: ''lightDimmer.timeRaise'' or ''lightDimmer({id}).timeRaise''
 +  * Type: float
 +  * Default Value: 1
 +  * Restriction: At least 0
 +  * Example (*.deeclass) <code xml><float name='lightDimmer.timeRaise'>0.5</float></code>
 +
 +===== timeLower =====
 +Set time in seconds required to lower light intensity to 0 intensity.
 +  * Full name: ''lightDimmer.timeLower'' or ''lightDimmer({id}).timeLower''
 +  * Type: float
 +  * Default Value: 1
 +  * Restriction: At least 0
 +  * Example (*.deeclass) <code xml><float name='lightDimmer.timeLower'>0.5</float></code>
 +
 +====== Events ======
 +
 +This behavior has no events.
 +
 +====== Required Behaviors ======
 +
 +  * [[behavior_light|ECBehaviorLight]]: Light to manipulate.
 +
 +====== Optional Behaviors ======
 +
 +This behavior does not support optional behaviors.
 +
 +====== Persistency ======
 +
 +This behavior does support element class to be persistable (setPersistable).
 +
 +====== API Documentation ======
 +
 +#@LinkApiDocDEDS2_HTML~classDragengine_1_1Scenery_1_1ECBehaviorLightDimmer.html,ECBehaviorLightDimmer~@#.
 +
 +Since DragonScript Module Version ''1.0''
 +
 +====== Use Cases ======
 +
 +  * Change light switch on and off to gradually fade in and out.
 +
 +====== Element Class Example ======
 +
 +This example defines an element which contains a light with dimming support.
 +
 +<code>
 +class MyElement extends BehaviorElementClass
 +  public var ECBehaviorLight light
 +  public var ECBehaviorLightDimmer lightDimmer
 +  func new()
 +    light = ECBehaviorLight.new(this, null)
 +    lightDimmer = ECBehaviorLightDimmer.new(this, light)
 +    lightDimmer.getTimeRaise().setValue(2)
 +    lightDimmer.getTimeLower().setValue(0.5)
 +  end
 +end
 +</code>
 +
 +====== Behavior Factory ======
 +
 +Using element class supporting adding behaviors the behavior can be added like this:
 +<code xml>
 +<?xml version='1.0' encoding='UTF-8'?>
 +<elementClass name='MyClass' class='GenericBehaviorElement'>
 +  <behavior type='ECBehaviorLight'/>
 +  
 +  <behavior type='ECBehaviorLightDimmer'>
 +    <!-- optional: use light with id instead of empty string -->
 +    <string name='light'>second</string>
 +    
 +    <!-- set element properties. omit property prefix if used inside behavior tag -->
 +    <float name='.timeRaise'>1.5</float>
 +  </behavior>
 +  
 +  <!-- for adding multiple behaviors use unique identifiers -->
 +  <behavior type='ECBehaviorLightDimmer' id='second'/>
 +</elementClass>
 +</code>
 +
 +====== Live Examples ======
 +
 +  * [[https://github.com/LordOfDragons/deexamples|DEExamples Repository]]