Crystal Space: iSequenceWrapper Struct Reference (Crystal Space Public API Reference)

| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iSequenceWrapper Struct Reference

A sequence wrapper. More...

`#include <ivaria/engseq.h>`

Inheritance diagram for iSequenceWrapper:

[legend]
List of all members.

## Public Member Functions
virtual void | AddOperationCheckTrigger (csTicks time, iParameterESM *trigger, csTicks delay)=0
| Operation: enable checking of trigger state every 'delay' milliseconds (or disable with delay == 0).
virtual void | AddOperationFadeAmbient (csTicks time, iParameterESM *sector, const csColor &color, csTicks duration)=0
| Operation: fade dynamic ambient light to some color during some time.
virtual void | AddOperationFadeFog (csTicks time, iParameterESM *sector, const csColor &color, float density, csTicks duration)=0
| Operation: fade fog to some color/density during some time.
virtual void | AddOperationFadeLight (csTicks time, iParameterESM *light, const csColor &color, csTicks duration)=0
| Operation: fade a light to some color during some time.
virtual void | AddOperationFadeMeshColor (csTicks time, iParameterESM *mesh, const csColor &color, csTicks duration)=0
| Operation: fade a mesh to some color during some time.
virtual void | AddOperationMoveDuration (csTicks time, iParameterESM *mesh, const csVector3 &offset, csTicks duration)=0
| Operation: move object (mesh or light) during some time.
virtual void | AddOperationRandomDelay (csTicks time, int min, int max)=0
| Operation: Delay executation of the rest of the script by a random time between min and max msec.
virtual void | AddOperationRotateDuration (csTicks time, iParameterESM *mesh, int axis1, float tot_angle1, int axis2, float tot_angle2, int axis3, float tot_angle3, const csVector3 &offset, csTicks duration)=0
| Operation: rotate object during some time.
virtual void | AddOperationSetAmbient (csTicks time, iParameterESM *sector, const csColor &color, iSharedVariable *colorvar)=0
| Operation: set dynamic ambient light color.
virtual void | AddOperationSetFog (csTicks time, iParameterESM *sector, const csColor &color, float density)=0
| Operation: set a fog color and density.
virtual void | AddOperationSetLight (csTicks time, iParameterESM *light, const csColor &color)=0
| Operation: set a light color.
virtual void | AddOperationSetMaterial (csTicks time, iParameterESM *mesh, iParameterESM *mat)=0
| Operation: set a material on a mesh.
virtual void | AddOperationSetMeshColor (csTicks time, iParameterESM *mesh, const csColor &color)=0
| Operation: set a mesh color.
virtual void | AddOperationSetPolygonMaterial (csTicks time, iParameterESM *polygon, iParameterESM *mat)=0
| Operation: set a material on a polygon.
virtual void | AddOperationSetVariable (csTicks time, iSharedVariable *var, const csColor &c)=0
| Operation: set a variable to a color.
virtual void | AddOperationSetVariable (csTicks time, iSharedVariable *var, const csVector3 &v)=0
| Operation: set a variable to a vector.
virtual void | AddOperationSetVariable (csTicks time, iSharedVariable *var, iSharedVariable *value, iSharedVariable *dvalue=0)=0
| Operation: set a variable to the contents of another variable.
virtual void | AddOperationSetVariable (csTicks time, iSharedVariable *var, float value, float dvalue=0)=0
| Operation: set a variable to a floating point value.
virtual void | AddOperationTestTrigger (csTicks time, iParameterESM *trigger, iSequence *trueSequence, iSequence *falseSequence)=0
| Operation: test trigger state and run a sequence if trigger is still valid or another sequence if not (both sequences can be 0 in which case nothing is run).
virtual void | AddOperationTriggerState (csTicks time, iParameterESM *trigger, bool en)=0
| Operation: enable/disable a given trigger.
virtual iEngineSequenceParameters * | CreateBaseParameterBlock ()=0
| Create a parameter block for this sequence wrapper.
virtual csPtr< iEngineSequenceParameters > | CreateParameterBlock ()=0
| Create a parameter block which you can then fill in and then give as a parameter running this sequence.
virtual iEngineSequenceParameters * | GetBaseParameterBlock ()=0
| Get the pointer to the base parameter block (or 0 if there is no such block).
virtual iSequence * | GetSequence ()=0
| Get the sequence that this wrapper maintains.
virtual iObject * | QueryObject ()=0
| Query iObject that is implemented by the sequence manager.

## Detailed Description

A sequence wrapper.

This objects holds the reference to the original sequence and also implements iObject. Basically a sequence corresponds to a series of operations that are time based and can be scheduled on the sequence manager. This class enhances iSequence with support for custom operations and parameter blocks.

Note that many parameters given to the AddOperation functions are of type iParameterESM.

Main creators of instances implementing this interface:

- iEngineSequenceManager::CreateSequence ()

Main ways to get pointers to this interface:

- iEngineSequenceManager::GetSequence()
- iEngineSequenceManager::FindSequenceByName()

Main users of this interface:

- iEngineSequenceManager

Definition at line 206 of file engseq.h.

## Member Function Documentation

virtual void iSequenceWrapper::AddOperationCheckTrigger | ( | csTicks | time,
|  | iParameterESM * | trigger,
|  | csTicks | delay |
| ) |  |  | `[pure virtual]`

Operation: enable checking of trigger state every 'delay' milliseconds (or disable with delay == 0).

Use this in combination with AddOperationTestTrigger().

Parameters:

  | time | is the relative time at which this operation will fire.
  | trigger | is a parameter representing a trigger to enable or disable.
  | delay | represents the frequency of checking the trigger.

virtual void iSequenceWrapper::AddOperationFadeAmbient | ( | csTicks | time,
|  | iParameterESM * | sector,
|  | const csColor & | color,
|  | csTicks | duration |
| ) |  |  | `[pure virtual]`

Operation: fade dynamic ambient light to some color during some time.

Parameters:

  | time | is the relative time at which this operation will fire.
  | sector | is a parameter representing the sector which will have its ambient set.
  | color | is the final ambient value.
  | duration | is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current ambient to destination ambient.

virtual void iSequenceWrapper::AddOperationFadeFog | ( | csTicks | time,
|  | iParameterESM * | sector,
|  | const csColor & | color,
|  | float | density,
|  | csTicks | duration |
| ) |  |  | `[pure virtual]`

Operation: fade fog to some color/density during some time.

Parameters:

  | time | is the relative time at which this operation will fire.
  | sector | is a parameter representing the sector which will have its ambient set.
  | color | is the final color value.
  | density | is the final density.
  | duration | is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current fog settings to destination fog settings.

virtual void iSequenceWrapper::AddOperationFadeLight | ( | csTicks | time,
|  | iParameterESM * | light,
|  | const csColor & | color,
|  | csTicks | duration |
| ) |  |  | `[pure virtual]`

Operation: fade a light to some color during some time.

Parameters:

  | time | is the relative time at which this operation will fire.
  | light | is a parameter representing the light which will be fade to the given color.
  | color | is the final color value.
  | duration | is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current color to destination color.

virtual void iSequenceWrapper::AddOperationFadeMeshColor | ( | csTicks | time,
|  | iParameterESM * | mesh,
|  | const csColor & | color,
|  | csTicks | duration |
| ) |  |  | `[pure virtual]`

Operation: fade a mesh to some color during some time.

Parameters:

  | time | is the relative time at which this operation will fire.
  | mesh | is a parameter representing a mesh.
  | color | is the destination color to fase this mesh too. Not all meshes support this.
  | duration | is the duration time of the fade. The fade will start at relative time 'time' and will take 'duration' milliseconds to go from current color to destination color.

virtual void iSequenceWrapper::AddOperationMoveDuration | ( | csTicks | time,
|  | iParameterESM * | mesh,
|  | const csVector3 & | offset,
|  | csTicks | duration |
| ) |  |  | `[pure virtual]`

Operation: move object (mesh or light) during some time.

After the time has elapsed the total relative move will be equal to the 'offset'.

Parameters:

  | time | is the relative time at which this operation will fire.
  | mesh | is a parameter representing a mesh.
  | offset | is the relative amount to move.
  | duration | is the duration time of the move. The move will start at relative time 'time' and will take 'duration' milliseconds to go from current location to destination.

virtual void iSequenceWrapper::AddOperationRandomDelay | ( | csTicks | time,
|  | int | min,
|  | int | max |
| ) |  |  | `[pure virtual]`

Operation: Delay executation of the rest of the script by a random time between min and max msec.

Parameters:

  | time | is the relative time at which this operation will fire.
  | min | is the minimum time to wait starting with 'time'.
  | max | is the maximum time to wait starting with 'time'.

virtual void iSequenceWrapper::AddOperationRotateDuration | ( | csTicks | time,
|  | iParameterESM * | mesh,
|  | int | axis1,
|  | float | tot_angle1,
|  | int | axis2,
|  | float | tot_angle2,
|  | int | axis3,
|  | float | tot_angle3,
|  | const csVector3 & | offset,
|  | csTicks | duration |
| ) |  |  | `[pure virtual]`

Operation: rotate object during some time.

After the time has elapsed the rotation will be equal to the given angle here. Axis is 0, 1, or 2 for x, y, or z. If axis is -1 it is not used.

Parameters:

  | time | is the relative time at which this operation will fire.
  | mesh | is a parameter representing a mesh.
  | axis1 | is the first rotation axis (-1, 0, 1, or 2).
  | tot_angle1 | is the total angle to rotate around axis1.
  | axis2 | is the second rotation axis (-1, 0, 1, or 2).
  | tot_angle2 | is the total angle to rotate around axis2.
  | axis3 | is the third rotation axis (-1, 0, 1, or 2).
  | tot_angle3 | is the total angle to rotate around axis3.
  | offset | is added to the rotation transformation so you can rotate an object around a center different from 0,0,0.
  | duration | is the duration time of the rotate. The rotate will start at relative time 'time' and will take 'duration' milliseconds to go from current orientation to destination orientation.

virtual void iSequenceWrapper::AddOperationSetAmbient | ( | csTicks | time,
|  | iParameterESM * | sector,
|  | const csColor & | color,
|  | iSharedVariable * | colorvar |
| ) |  |  | `[pure virtual]`

Operation: set dynamic ambient light color.

Parameters:

  | time | is the relative time at which this operation will fire.
  | sector | is a parameter representing the sector which will have its ambient set.
  | color | is the ambient color unless 'colorvar' is not 0.
  | colorvar | is the variable containing the desired color. This will be used instead of 'color' is not 0.

virtual void iSequenceWrapper::AddOperationSetFog | ( | csTicks | time,
|  | iParameterESM * | sector,
|  | const csColor & | color,
|  | float | density |
| ) |  |  | `[pure virtual]`

Operation: set a fog color and density.

Parameters:

  | time | is the relative time at which this operation will fire.
  | sector | is a parameter representing the sector which will have its ambient set.
  | color | is the required color value.
  | density | is the required density.

virtual void iSequenceWrapper::AddOperationSetLight | ( | csTicks | time,
|  | iParameterESM * | light,
|  | const csColor & | color |
| ) |  |  | `[pure virtual]`

Operation: set a light color.

Parameters:

  | time | is the relative time at which this operation will fire.
  | light | is a parameter representing the light which will be set to the given color.
  | color | is the new color value.

virtual void iSequenceWrapper::AddOperationSetMaterial | ( | csTicks | time,
|  | iParameterESM * | mesh,
|  | iParameterESM * | mat |
| ) |  |  | `[pure virtual]`

Operation: set a material on a mesh.

Parameters:

  | time | is the relative time at which this operation will fire.
  | mesh | is a parameter that represents a mesh on which the material should be set. The mesh should support SetMaterialWrapper().
  | mat | is a parameter that represents the material to set.

virtual void iSequenceWrapper::AddOperationSetMeshColor | ( | csTicks | time,
|  | iParameterESM * | mesh,
|  | const csColor & | color |
| ) |  |  | `[pure virtual]`

Operation: set a mesh color.

Parameters:

  | time | is the relative time at which this operation will fire.
  | mesh | is a parameter representing a mesh.
  | color | is the color to set this mesh too. Not all meshes support this.

virtual void iSequenceWrapper::AddOperationSetPolygonMaterial | ( | csTicks | time,
|  | iParameterESM * | polygon,
|  | iParameterESM * | mat |
| ) |  |  | `[pure virtual]`

Operation: set a material on a polygon.

Parameters:

  | time | is the relative time at which this operation will fire.
  | polygon | is a parameter that represents a polygon on which the material should be set.
  | mat | is a parameter that represents the material to set.

virtual void iSequenceWrapper::AddOperationSetVariable | ( | csTicks | time,
|  | iSharedVariable * | var,
|  | const csColor & | c |
| ) |  |  | `[pure virtual]`

Operation: set a variable to a color.

Parameters:

  | time | is the relative time at which this operation will fire.
  | var | is the variable that will be set by this operation.
  | c | is the new color value.

virtual void iSequenceWrapper::AddOperationSetVariable | ( | csTicks | time,
|  | iSharedVariable * | var,
|  | const csVector3 & | v |
| ) |  |  | `[pure virtual]`

Operation: set a variable to a vector.

Parameters:

  | time | is the relative time at which this operation will fire.
  | var | is the variable that will be set by this operation.
  | v | is the new vector value.

virtual void iSequenceWrapper::AddOperationSetVariable | ( | csTicks | time,
|  | iSharedVariable * | var,
|  | iSharedVariable * | value,
|  | iSharedVariable * | dvalue = `0` |
| ) |  |  | `[pure virtual]`

Operation: set a variable to the contents of another variable.

If 'dvalue' is not 0 then that will be used instead of the absolute value. In that case 'dvalue' is added. 'dvalue' has to be a floating point variable for that to work. 'value' can be any type. The type of 'var' will be set to the type of 'value' in that case.

Parameters:

  | time | is the relative time at which this operation will fire.
  | var | is the variable that will be set by this operation. The value that is set is the 'value' parameter.
  | value | is the new value for 'var'.
  | dvalue | is a difference that is added. Only used if it is not 0.

virtual void iSequenceWrapper::AddOperationSetVariable | ( | csTicks | time,
|  | iSharedVariable * | var,
|  | float | value,
|  | float | dvalue = `0` |
| ) |  |  | `[pure virtual]`

Operation: set a variable to a floating point value.

If 'dvalue' is not 0 then that will be used instead of the absolute value. In that case 'dvalue' is added.

Parameters:

  | time | is the relative time at which this operation will fire.
  | var | is the variable that will be set by this operation. The value that is set is the 'value' parameter.
  | value | is the new value for 'var'.
  | dvalue | is a difference that is added. Only used if it is not 0.

virtual void iSequenceWrapper::AddOperationTestTrigger | ( | csTicks | time,
|  | iParameterESM * | trigger,
|  | iSequence * | trueSequence,
|  | iSequence * | falseSequence |
| ) |  |  | `[pure virtual]`

Operation: test trigger state and run a sequence if trigger is still valid or another sequence if not (both sequences can be 0 in which case nothing is run).

Use in combination with AddOperationCheckTrigger().

Parameters:

  | time | is the relative time at which this operation will fire.
  | trigger | is a parameter representing a trigger to enable or disable.
  | trueSequence | is the sequence that will be fired when the trigger succeeds. Can be 0.
  | falseSequence | is the sequence that will be fired when the trigger does not succeed. Can be 0.

virtual void iSequenceWrapper::AddOperationTriggerState | ( | csTicks | time,
|  | iParameterESM * | trigger,
|  | bool | en |
| ) |  |  | `[pure virtual]`

Operation: enable/disable a given trigger.

Parameters:

  | time | is the relative time at which this operation will fire.
  | trigger | is a parameter representing a trigger to enable or disable.
  | en | is true to enable or false to disable.

virtual iEngineSequenceParameters* iSequenceWrapper::CreateBaseParameterBlock | ( |  | ) | `[pure virtual]`

Create a parameter block for this sequence wrapper.

After creating this you can initialized the parameters (with names and optional default values). Later on you can use GetSequenceParameters() to get a copy of a parameter block to use for running a sequence.

virtual csPtr<iEngineSequenceParameters> iSequenceWrapper::CreateParameterBlock | ( |  | ) | `[pure virtual]`

Create a parameter block which you can then fill in and then give as a parameter running this sequence.

This essentially creates a copy of the base parameter block created with CreateBaseParameterBlock(). Modifications on the parameter block returned by this function have no effect on the parameter block which is kept internally. You should only set the values of the given parameter block and not create/remove variables. This function returns 0 if there is no parameter block for this sequence.

virtual iEngineSequenceParameters* iSequenceWrapper::GetBaseParameterBlock | ( |  | ) | `[pure virtual]`

Get the pointer to the base parameter block (or 0 if there is no such block).

virtual iSequence* iSequenceWrapper::GetSequence | ( |  | ) | `[pure virtual]`

Get the sequence that this wrapper maintains.

It is allowed to use the underlying sequence for general sequence operations like adding conditions, operations, and general sequence management. The AddOperationBla() functions provided in this wrapper do nothing more than add custom operations through the regular iSequence->AddOperation().

virtual iObject* iSequenceWrapper::QueryObject | ( |  | ) | `[pure virtual]`

Query iObject that is implemented by the sequence manager.

The documentation for this struct was generated from the following file:

- ivaria/engseq.h