Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/doc/lua/animator.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lua/animator.md')
-rw-r--r--doc/lua/animator.md243
1 files changed, 243 insertions, 0 deletions
diff --git a/doc/lua/animator.md b/doc/lua/animator.md
new file mode 100644
index 0000000..aae5ad3
--- /dev/null
+++ b/doc/lua/animator.md
@@ -0,0 +1,243 @@
+# animator
+
+The *animator* table contains functions that relate to an attached networked animator. Networked animators are found in:
+
+* tech
+* monsters
+* vehicles
+* status effects
+* active items
+
+---
+
+#### `bool` animator.setAnimationState(`String` stateType, `String` State, `bool` startNew = false)
+
+Sets an animation state. If startNew is true, restart the animation loop if it's already active. Returns whether the state was set.
+
+---
+
+#### `String` animator.animationState(`String` stateType)
+
+Returns the current state for a state type.
+
+---
+
+#### `Json` animator.animationStateProperty(`String` stateType, `String` propertyName)
+
+Returns the value of the specified property for a state type.
+
+---
+
+#### `void` animator.setGlobalTag(`String` tagName, `String` tagValue)
+
+Sets a global animator tag. A global tag replaces any tag <tagName> with the specified tagValue across all animation parts.
+
+---
+
+#### `void` animator.setPartTag(`String` partType, `String` tagName, `String` tagValue)
+
+Sets a local animator tag. A part tag replaces any tag <tagName> with the specified tagValue in the partType animation part only.
+
+---
+
+#### `void` animator.setFlipped(`bool` flipped)
+
+Sets whether the animator should be flipped horizontally.
+
+---
+
+#### `void` animator.setAnimationRate(`float` rate)
+
+Sets the animation rate of the animator.
+
+---
+
+#### `void` animator.rotateGroup(`String` rotationGroup, `float` targetAngle, `bool` immediate)
+
+Rotates a rotation group to the specified angle. If immediate, ignore rotation speed.
+
+*NOTE:* Rotation groups have largely been replaced by transformation groups and should only be used in a context where maintaining a rotation speed is important. When possible use transformation groups.
+
+---
+
+#### `float` animator.currentRotationAngle(`String` rotationGroup)
+
+Returns the current angle for a rotation group.
+
+---
+
+#### `bool` animator.hasTransformationGroup(`String` transformationGroup)
+
+Returns whether the animator contains the specified transformation group.
+
+---
+
+#### `void` animator.translateTransformationGroup(`String` transformationGroup, `Vec2F` translate)
+
+Translates the specified transformation group.
+
+---
+
+#### `void` animator.rotateTransformationGroup(`String` transformationGroup, `float` rotation, [`Vec2F` rotationCenter])
+
+Rotates the specified transformation group by the specified angle in radians, optionally around the specified center point.
+
+---
+
+#### `void` animator.scaleTransformationGroup(`String` transformationGroup, `float` scale, [`Vec2F` scaleCenter])
+
+#### `void` animator.scaleTransformationGroup(`String` transformationGroup, `Vec2F` scale, [`Vec2F` scaleCenter])
+
+Scales the specified transformation group by the specified scale. Optionally scale it from a scaleCenter.
+
+---
+
+#### `void` animator.transformTransformationGroup(`String` transformationGroup, `float` a, `float` b, `float` c, `float` d, `float` tx, `float` ty)
+
+Applies a custom Mat3 transform to the specified transformationGroup. The applied matrix will be:
+
+[a, b, tx,
+ c, d, ty,
+ 0, 0, 1]
+
+---
+
+#### `void` animator.resetTransformationGroup(`String` transformationGroup)
+
+Resets a transformationGroup to the identity transform.
+
+[1, 0, 0
+ 0, 1, 0,
+ 0, 1, 1]
+
+---
+
+#### `void` animator.setParticleEmitterActive(`String` emitterName, `bool` active)
+
+Sets a particle emitter to be active or inactive.
+
+---
+
+#### `void` animator.setParticleEmitterEmissionRate(`String` emitterName, `float` emissionRate)
+
+Sets the rate at which a particle emitter emits particles while active.
+
+---
+
+#### `void` animator.setParticleEmitterBurstCount(`String` emitterName, `unsigned` burstCount)
+
+Sets the amount of each particle the emitter will emit when using burstParticleEmitter.
+
+---
+
+#### `void` animator.setParticleEmitterOffsetRegion(`String` emitterName, `RectF` offsetRegion)
+
+Sets an offset region for the particle emitter. Any particles spawned will have a randomized offset within the region added to their position.
+
+---
+
+#### `void` animator.burstParticleEmitter(`String` emitterName)
+
+Spawns the entire set of particles `burstCount` times, where `burstCount` can be configured in the animator or set by setParticleEmitterBurstCount.
+
+---
+
+#### `void` animator.setLightActive(`String` lightName, bool active)
+
+Sets a light to be active/inactive.
+
+---
+
+#### `void` animator.setLightPosition(`String` lightName, Vec2F position)
+
+Sets the position of a light.
+
+---
+
+#### `void` animator.setLightColor(`String` lightName, Color color)
+
+Sets the color of a light. Brighter color gives a higher light intensity.
+
+---
+
+#### `void` animator.setLightPointAngle(`String` lightName, float angle)
+
+Sets the angle of a pointLight.
+
+---
+
+#### `bool` animator.hasSound(`String` soundName)
+
+Returns whether the animator has a sound by the name of `soundName`
+
+---
+
+#### `void` animator.setSoundPool(`String` soundName, `List<String>` soundPool)
+
+Sets the list of sound assets to pick from when playing a sound.
+
+---
+
+#### `void` animator.setSoundPosition(`String` soundName, `Vec2F` position)
+
+Sets the position that a sound is played at.
+
+---
+
+#### `void` animator.playSound(`String` soundName, [`int` loops = 0])
+
+Plays a sound. Optionally loop `loops` times. 0 plays the sound once (no loops), -1 loops indefinitely.
+
+---
+
+#### `void` animator.setSoundVolume(`String` soundName, `float` volume, [`float` rampTime = 0.0])
+
+Sets the volume of a sound. Optionally smoothly transition the volume over `rampTime` seconds.
+
+---
+
+#### `void` animator.setSoundPitch(`String` soundName, `float` pitch, [`float` rampTime = 0.0])
+
+Sets the relative pitch of a sound. Optionally smoothly transition the pitch over `rampTime` seconds.
+
+---
+
+#### `void` animator.stopAllSounds(`String` soundName)
+
+Stops all instances of the specified sound.
+
+---
+
+#### `void` animator.setEffectActive(`String` effect, `bool` enabled)
+
+Sets a configured effect to be active/inactive.
+
+---
+
+#### `Vec2F` animator.partPoint(`String` partName, `String` propertyName)
+
+Returns a `Vec2F` configured in a part's properties with all of the part's transformations applied to it.
+
+---
+
+#### `PolyF` animator.partPoly(`String` partName, `String` propertyName)
+
+Returns a `PolyF` configured in a part's properties with all the part's transformations applied to it.
+
+---
+
+#### `Json` animator.partProperty(`String` partName, `String` propertyName)
+
+Returns an animation part property without applying any transformations.
+
+---
+
+#### `Json` animator.transformPoint(`String` partName, `Vec2F` point)
+
+Applies the specified part's transformation on the given point.
+
+---
+
+#### `Json` animator.transformPoly(`String` partName, `PolyF` poly)
+
+Applies the specified part's transformation on the given poly.