diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-06-20 14:33:09 +1000 |
commit | 6352e8e3196f78388b6c771073f9e03eaa612673 (patch) | |
tree | e23772f79a7fbc41bc9108951e9e136857484bf4 /doc/lua/animator.md | |
parent | 6741a057e5639280d85d0f88ba26f000baa58f61 (diff) |
everything everywhere
all at once
Diffstat (limited to 'doc/lua/animator.md')
-rw-r--r-- | doc/lua/animator.md | 243 |
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. |