{{tag>dragonscript behavior}}
[[: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**
  * [[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) 0.5
===== 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) 0.5
====== 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.
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
====== Behavior Factory ======
Using element class supporting adding behaviors the behavior can be added like this:
  
  
  
    
    second
    
    
    1.5
  
  
  
  
====== Live Examples ======
  * [[https://github.com/LordOfDragons/deexamples|DEExamples Repository]]