| ## Public API Reference

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

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

# iEngineSequenceManager Struct Reference

Sequence manager specifically designed for working on the engine. More...

`#include <ivaria/engseq.h>`

Inheritance diagram for iEngineSequenceManager:

[legend]
List of all members.

## Public Member Functions
virtual csPtr< iParameterESM > | CreateParameterESM (iBase *value)=0
| Create a parameter ESM for a constant value.
virtual csPtr< iSequenceWrapper > | CreateSequence (const char *name)=0
| Create a new sequence with a given name.
virtual csPtr< iSequenceTrigger > | CreateTrigger (const char *name)=0
| Create a new trigger with a given name.
virtual void | DestroyTimedOperations (uint sequence_id)=0
| Destroy all timed operations with a given sequence id.
virtual iSequenceWrapper * | FindSequenceByName (const char *name) const =0
| Get a sequence by name.
virtual iSequenceTrigger * | FindTriggerByName (const char *name) const =0
| Get a trigger by name.
virtual void | FireTimedOperation (csTicks delta, csTicks duration, iSequenceTimedOperation *op, iBase *params=0, uint sequence_id=0)=0
| Start a timed operation with a given delta (in ticks).
virtual bool | FireTriggerByName (const char *name, bool now=false) const =0
| Fire a trigger manually, specifying the name.
virtual iSequenceWrapper * | GetSequence (size_t idx) const =0
| Get a sequence.
virtual size_t | GetSequenceCount () const =0
| Get the number of sequences.
virtual iSequenceManager * | GetSequenceManager ()=0
| Get a pointer to the underlying sequence manager that is being used.
virtual iSequenceTrigger * | GetTrigger (size_t idx) const =0
| Get a trigger.
virtual size_t | GetTriggerCount () const =0
| Get the number of triggers.
virtual void | RemoveSequence (iSequenceWrapper *seq)=0
| Remove sequence from the manager.
virtual void | RemoveSequences ()=0
| Remove all sequences.
virtual void | RemoveTrigger (iSequenceTrigger *trigger)=0
| Remove trigger from the manager.
virtual void | RemoveTriggers ()=0
| Remove all triggers.
virtual bool | RunSequenceByName (const char *name, int delay) const =0
| Run a sequence and don't mess around with triggers.

## Detailed Description

Sequence manager specifically designed for working on the engine.

Main creators of instances implementing this interface:

- Engine Sequence Manager plugin (crystalspace.utilities.sequence.engine)

Main ways to get pointers to this interface:

- CS_QUERY_REGISTRY()

Definition at line 693 of file engseq.h.

## Member Function Documentation

virtual csPtr<iParameterESM> iEngineSequenceManager::CreateParameterESM | ( | iBase * | value | ) | `[pure virtual]`

Create a parameter ESM for a constant value.

virtual csPtr<iSequenceWrapper> iEngineSequenceManager::CreateSequence | ( | const char * | name | ) | `[pure virtual]`

Create a new sequence with a given name.

virtual csPtr<iSequenceTrigger> iEngineSequenceManager::CreateTrigger | ( | const char * | name | ) | `[pure virtual]`

Create a new trigger with a given name.

virtual void iEngineSequenceManager::DestroyTimedOperations | ( | uint | sequence_id | ) | `[pure virtual]`

Destroy all timed operations with a given sequence id.

virtual iSequenceWrapper* iEngineSequenceManager::FindSequenceByName | ( | const char * | name | ) | const`[pure virtual]`

Get a sequence by name.

virtual iSequenceTrigger* iEngineSequenceManager::FindTriggerByName | ( | const char * | name | ) | const`[pure virtual]`

Get a trigger by name.

virtual void iEngineSequenceManager::FireTimedOperation | ( | csTicks | delta,
|  | csTicks | duration,
|  | iSequenceTimedOperation * | op,
|  | iBase * | params = `0`,
|  | uint | sequence_id = `0` |
| ) |  |  | `[pure virtual]`

Start a timed operation with a given delta (in ticks).

Parameters:

  | delta | To be interpreted as the amount of time that has already elapsed since the beginning of the timed operation.
  | duration | Duration of the timed operation.
  | op | Operation to start.
  | params | Operation parameters.
  | sequence_id | This identifier can be used to get track of a given sequence. You can use this id to remove all operations that have this id. Use iSequenceManager->GetUniqueID() to fetch a suitable id here or else use the same id as the sequence has.

Remarks:
  The params block is increffed for as long as is needed so you can release your reference.

virtual bool iEngineSequenceManager::FireTriggerByName | ( | const char * | name,
|  | bool | now = `false` |
| ) |  |  | const`[pure virtual]`

Fire a trigger manually, specifying the name.

This will call ForceFire() on the trigger (if one is found). If now == false then the usual delay will be respected. Otherwise the sequence will be run immediatelly without the default delay.

virtual iSequenceWrapper* iEngineSequenceManager::GetSequence | ( | size_t | idx | ) | const`[pure virtual]`

Get a sequence.

virtual size_t iEngineSequenceManager::GetSequenceCount | ( |  | ) | const`[pure virtual]`

Get the number of sequences.

virtual iSequenceManager* iEngineSequenceManager::GetSequenceManager | ( |  | ) | `[pure virtual]`

Get a pointer to the underlying sequence manager that is being used.

virtual iSequenceTrigger* iEngineSequenceManager::GetTrigger | ( | size_t | idx | ) | const`[pure virtual]`

Get a trigger.

virtual size_t iEngineSequenceManager::GetTriggerCount | ( |  | ) | const`[pure virtual]`

Get the number of triggers.

virtual void iEngineSequenceManager::RemoveSequence | ( | iSequenceWrapper * | seq | ) | `[pure virtual]`

Remove sequence from the manager.

virtual void iEngineSequenceManager::RemoveSequences | ( |  | ) | `[pure virtual]`

Remove all sequences.

virtual void iEngineSequenceManager::RemoveTrigger | ( | iSequenceTrigger * | trigger | ) | `[pure virtual]`

Remove trigger from the manager.

virtual void iEngineSequenceManager::RemoveTriggers | ( |  | ) | `[pure virtual]`

Remove all triggers.

virtual bool iEngineSequenceManager::RunSequenceByName | ( | const char * | name,
|  | int | delay |
| ) |  |  | const`[pure virtual]`

Run a sequence and don't mess around with triggers.

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

- ivaria/engseq.h