| ## Public API Reference

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

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

# iEngineSequenceParameters Struct Reference

An interface for passing on parameters to the engine sequence manager. More...

`#include <ivaria/engseq.h>`

Inheritance diagram for iEngineSequenceParameters:

[legend]
List of all members.

## Public Member Functions
virtual void | AddParameter (const char *name, iBase *def_value=0)=0
| Add a parameter.
virtual csPtr< iParameterESM > | CreateParameterESM (const char *name)=0
| Create a parameter ESM which keeps a reference to this parameter block and knows how to resolve the specified parameter.
virtual iBase * | GetParameter (const char *name) const =0
| Get a parameter by name.
virtual iBase * | GetParameter (size_t idx) const =0
| Get a parameter.
virtual size_t | GetParameterCount () const =0
| Get the number of parameters supported.
virtual size_t | GetParameterIdx (const char *name) const =0
| Get a parameter index by name.
virtual const char * | GetParameterName (size_t idx) const =0
| Get parameter name.
virtual void | SetParameter (const char *name, iBase *value)=0
| Set a parameter by name.
virtual void | SetParameter (size_t idx, iBase *value)=0
| Set a parameter by index.

## Detailed Description

An interface for passing on parameters to the engine sequence manager.

You can create a ready-made instance of this interface by calling iSequenceWrapper->CreateBaseParameterBlock(). This will create an empty parameter block that specifies the supported parameters (and optional default values) that are relevant for that sequence. When running a sequence later you can call iSequenceWrapper->CreateParameterBlock() to make a clone of the base parameter block and then fill in the values.
To use a value from this parameter block you can call CreateParameterESM() which will return a parameter that you can give to an operation.

Main creators of instances implementing this interface:

- iSequenceWrapper::CreateBaseParameterBlock()
- iSequenceWrapper::CreateParameterBlock ()

Main ways to get pointers to this interface:

- iSequenceWrapper::GetBaseParameterBlock ()
- iSequenceTrigger::GetParameters ()

Main users of this interface:

- iSequenceWrapper

Definition at line 129 of file engseq.h.

## Member Function Documentation

virtual void iEngineSequenceParameters::AddParameter | ( | const char * | name,
|  | iBase * | def_value = `0` |
| ) |  |  | `[pure virtual]`

Add a parameter.

Warning! ONLY call this for setting up the base parameter block. Don't use this to set the values for parameters later on blocks created with CreateParameterBlock()!

virtual csPtr<iParameterESM> iEngineSequenceParameters::CreateParameterESM | ( | const char * | name | ) | `[pure virtual]`

Create a parameter ESM which keeps a reference to this parameter block and knows how to resolve the specified parameter.

Returns 0 if the parameter 'name' is not known in this block. You can use the return of this function to give as an argument for operations.

virtual iBase* iEngineSequenceParameters::GetParameter | ( | const char * | name | ) | const`[pure virtual]`

Get a parameter by name.

virtual iBase* iEngineSequenceParameters::GetParameter | ( | size_t | idx | ) | const`[pure virtual]`

Get a parameter.

virtual size_t iEngineSequenceParameters::GetParameterCount | ( |  | ) | const`[pure virtual]`

Get the number of parameters supported.

virtual size_t iEngineSequenceParameters::GetParameterIdx | ( | const char * | name | ) | const`[pure virtual]`

Get a parameter index by name.

virtual const char* iEngineSequenceParameters::GetParameterName | ( | size_t | idx | ) | const`[pure virtual]`

Get parameter name.

virtual void iEngineSequenceParameters::SetParameter | ( | const char * | name,
|  | iBase * | value |
| ) |  |  | `[pure virtual]`

Set a parameter by name.

virtual void iEngineSequenceParameters::SetParameter | ( | size_t | idx,
|  | iBase * | value |
| ) |  |  | `[pure virtual]`

Set a parameter by index.

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

- ivaria/engseq.h