User Tools

Site Tools


dragengine:modules:dragonscript:behavior_world

ECBehaviorWorld

Behavior loads world file and adds contained content to the the game world this element is located in.

Instance Counts

This behavior can be added multiple times to an element. Use the behavior identifier to tell them apart.

Element Class Properties

Element class properties have the prefix world. or world({id}). if id is not empty.

path

Set path to world file to use.

  • Full name: world.path or world({id}).path
  • Type: string
  • Default Value: empty string
  • Expected File Pattern: *.deworld
  • Example (*.deeclass)
    <string name='world.path'>room_storage.deworld</string>

position

Set position relative to element matrix to add created content at.

  • Full name: world.position or world({id}).position
  • Type: 3-component float vector
  • Default Value: (0,0,0)
  • Example (*.deeclass)
    <vector name='world.position' x='0' y='-1' z='0'/>

orientation

Set orientation relative to element matrix to add created content at.

  • Full name: world.orientation or world({id}).orientation
  • Type: 3-component float vector
  • Default Value: (0,0,0)
  • Example (*.deeclass)
    <vector name='world.orientation' x='0' y='180' z='0'/>

Events

This behavior has no events.

Required Behaviors

This behavior requires no other behaviors.

Optional Behaviors

This behavior does not support optional behaviors.

Persistency

This behavior does support element class to be persistable (setPersistable).

API Documentation

ECBehaviorWorld.

Since DragonScript Module Version 1.26

Use Cases

  • Reuse groups of elements to reuse them in other world files.

Element Class Example

This example defines an element which loads a single world.

class MyElement extends BehaviorElementClass
  public var ECBehaviorWorld world
  func new()
    world = ECBehaviorWorld.new(this)
    world.getPath().setPath("/content/worlds/storageRoom.deworld")
  end
end

Behavior Factory

Using element class supporting adding behaviors the behavior can be added like this:

<?xml version='1.0' encoding='UTF-8'?>
<elementClass name='MyClass' class='GenericBehaviorElement'>
  <!-- add world behavior -->
  <behavior type='ECBehaviorWorld'>
    <!-- set element properties. omit property prefix if used inside behavior tag -->
    <string name='.path'>/content/worlds/storageRoom.deworld</string>
  </behavior>
 
  <!-- for adding multiple behaviors use unique identifiers -->
  <behavior type='ECBehaviorWorld' id='second'/>
</elementClass>

Live Examples

You could leave a comment if you were logged in.
dragengine/modules/dragonscript/behavior_world.txt · Last modified: 2025/04/30 16:06 by dragonlord