User Tools

Site Tools


dragengine:modules:dragonscript:behavior_occupier

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dragengine:modules:dragonscript:behavior_occupier [2020/11/24 10:01] – [ECBehaviorOccupier] dragonlorddragengine:modules:dragonscript:behavior_occupier [2025/03/13 17:14] (current) dragonlord
Line 1: Line 1:
 {{tag>dragonscript behavior}} {{tag>dragonscript behavior}}
 <WRAP youarehere> <WRAP youarehere>
-[[:start|Start Page]] >> [[main|DragonScript Scripting Language]] >> [[abstractions#behavior_elementsquick_and_easy_development|Behavior Elements: Quick and Easy Development]] >> **ECBehaviorOccupier**+[[: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]] >> **ECBehaviorOccupier**
 </WRAP> </WRAP>
  
Line 8: Line 8:
  
 ====== ECBehaviorOccupier ====== ====== ECBehaviorOccupier ======
- 
-Behavior element behavior adding support to uccipy an [[behavior_interactionspot|CBehaviorInteractionSpot]]. 
- 
-[[behavior_interactionspot|CBehaviorInteractionSpot]] defines position and orientation actors or the player have to assume to interact properly with this element. The ECBehaviorOccupier behavior provides support to claim such interaction spots. 
  
 <WRAP center 100%> <WRAP center 100%>
Line 19: Line 15:
 </WRAP> </WRAP>
 </WRAP> </WRAP>
 +
 +Behavior element behavior adding support to uccipy an [[behavior_interactionspot|CBehaviorInteractionSpot]].
 +
 +[[behavior_interactionspot|CBehaviorInteractionSpot]] defines position and orientation actors or the player have to assume to interact properly with this element. The ECBehaviorOccupier behavior provides support to claim such interaction spots.
  
 ====== Instance Counts ====== ====== Instance Counts ======
Line 26: Line 26:
 ====== Element Class Properties ====== ====== Element Class Properties ======
  
-Element class properties have the prefix **occupier.** or **occupier(id)**. if id is not empty.+Element class properties have the prefix ''occupier.'' or ''occupier(id)''. if id is not empty.
  
-This behavior does not define element properties (reserved for future expansion).+====== Events ====== 
 + 
 +===== spotClaimed ===== 
 + 
 +Occupier claimed interaction spot. 
 + 
 +===== spotReleased (Instance instance, ECBehaviorInteractionSpot.Instance interactionSpot) 
 + 
 +Occupier released interaction spot.
  
 ====== Required Behaviors ====== ====== Required Behaviors ======
 +
 This behavior does not required other behaviors to be present.  This behavior does not required other behaviors to be present. 
  
 ====== Optional Behaviors ====== ====== Optional Behaviors ======
 +
 This behavior does not support optional behaviors. This behavior does not support optional behaviors.
  
 ====== Persistency ====== ====== Persistency ======
-This behavior does support element class to be persistable (setPersistable). Saves [[behavior_interactionspot|CBehaviorInteractionSpot]] if present.+ 
 +This behavior does support element class to be persistable (setPersistable).
  
 ====== API Documentation ====== ====== API Documentation ======
-[[https://developer.dragondreams.ch/docs/dragonscript/scriptapi/latest/classDragengine_1_1Scenery_1_1ECBehaviorOccupier.html|ECBehaviorOccupier]].+#@LinkApiDocDEDS2_HTML~classDragengine_1_1Scenery_1_1ECBehaviorOccupier.html,ECBehaviorOccupier~@#.
  
-Since DragonScript Module Version **1.4**+Since DragonScript Module Version ''1.4''
  
 ====== Use Cases ====== ====== Use Cases ======
Line 82: Line 93:
 end end
 </code> </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='ECBehaviorOccupier'>
 +    <!-- set element properties. omit property prefix if used inside behavior tag -->
 +    <string name='.name'>value</string>
 +  </behavior>
 +  
 +  <!-- for adding multiple behaviors use unique identifiers -->
 +  <behavior type='ECBehaviorOccupier' id='second'/>
 +</elementClass>
 +</code>
 +
 +====== Live Examples ======
  
 In the [[https://github.com/LordOfDragons/deexamples|ExampleApp]] you can find a complete example of using this behavior: In the [[https://github.com/LordOfDragons/deexamples|ExampleApp]] you can find a complete example of using this behavior:
Line 88: Line 117:
   * [[https://github.com/LordOfDragons/deexamples/blob/master/exampleApp/data/scripts/PlayerActorClass.ds|PlayerActorClass.ds]]: Player actor class. Uses occupier behavior to safely do interactions.   * [[https://github.com/LordOfDragons/deexamples/blob/master/exampleApp/data/scripts/PlayerActorClass.ds|PlayerActorClass.ds]]: Player actor class. Uses occupier behavior to safely do interactions.
   * [[https://github.com/LordOfDragons/deexamples/blob/master/exampleApp/data/scripts/PlayerActionInteractToggle.ds|PlayerActionInteractToggle.ds]]: Player action interacting with BehaviorInteractToggle. Tries to claim the assigned interaction spot and if successful moves to the spot and uses the element. Once finished releases the interaction spot.   * [[https://github.com/LordOfDragons/deexamples/blob/master/exampleApp/data/scripts/PlayerActionInteractToggle.ds|PlayerActionInteractToggle.ds]]: Player action interacting with BehaviorInteractToggle. Tries to claim the assigned interaction spot and if successful moves to the spot and uses the element. Once finished releases the interaction spot.
 +
dragengine/modules/dragonscript/behavior_occupier.1606212072.txt.gz · Last modified: 2020/11/24 10:01 by dragonlord