LavaSinkComponent - acrimi/Raven GitHub Wiki
Extends TerrainDamageComponent, StatefulComponent
LavaSinkComponent
is an extension of TerrainDamageComponent that represents a sinking in lava state for an entity. It is primarily intended to be used with a system configured with the "lava"
terrain.
When used inside the components
block, the initial state of the component can be configured with the following parameters:
Key | Type | Description |
---|---|---|
terrainThreshold* | float | The percentage, from 0 to 1 , of the entity's surface area that the relevant terrain must occupy before the component activates. Defaults to 0.9 . |
damage* | int | The damage the entity will take once the terrainThreshold is met, or -1 if the entity should be immediately destroyed. Defaults to -1 . |
duration** | float | The duration, in seconds, of the "active" state for this component. Defaults to -1 , which is treated as infinite duration. |
enterStates** | (string|object)[] | An array of states that will be passed through when going from the "inactive" state to the "active" state. Each state can be defined as either an object with a single key value pair corresponding the state's name and duration, or as a string representing the state name. States defined as a string will have an infinite duration. The array values can be heterogenous. |
[stateName]** | float | The key represents the name of this state and the value is the duration, in seconds. For infinite duration, use a value of -1
|
exitStates** | (string|object)[] | An array of states that will be passed through when going from the "active" state to the "inactive" state. Each state can be defined as either an object with a single key value pair corresponding the state's name and duration, or as a string representing the state name. States defined as a string will have an infinite duration. The array values can be heterogenous. |
[stateName]** | float | The key represents the name of this state and the value is the duration, in seconds. For infinite duration, use a value of -1
|
initialState** | string | The state the component will start in. Must be one of "inactive" , "active" , or any of the custom states provided via enterStates or exitStates . By default, the component will start in the "inactive" state. Setting a different initial state will not cause events to fire for entering that state. |
isActive** | boolean | Equivalent to passing "active" to initialState . Defaults to false . |
* from TerrainDamageComponent
** from StatefulComponent
Example:
"LavaSinkComponent": {
"terrainThreshold": 0.75,
"damage": 3,
"duration": 0.7
}
The following properties are readable by property accessors (eg render state and persistence definitions):
Key | Type | Description |
---|---|---|
isActive** | boolean | Whether or not the current state is "active"
|
isInactive** | boolean | Whether or not the current state is "inactive"
|
state** | string | The name of the current state |
progress** | float | The percentage, from 0 to 1 , of how much time has elapsed for the current state relative to its duration (elapsedTime / duration). If the current state has an infinite duration, this value is always 0 . |
** from StatefulComponent