| ## Public API Reference

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

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

# iSequence Struct Reference

A sequence of operations tagged with relative time information. More...

`#include <ivaria/sequence.h>`

Inheritance diagram for iSequence:

[legend]
List of all members.

## Public Member Functions
virtual void | AddCondition (csTicks time, iSequenceCondition *condition, iSequence *trueSequence, iSequence *falseSequence, iBase *params=0, uint sequence_id=0)=0
| Add a standard operation to perform a condition and execute the right sequence depending on the result.
virtual void | AddLoop (csTicks time, iSequenceCondition *condition, iSequence *sequence, iBase *params=0, uint sequence_id=0)=0
| Perform the sequence for as long as the condition is valid.
virtual void | AddOperation (csTicks time, iSequenceOperation *operation, iBase *params=0, uint sequence_id=0)=0
| Add an operation to this sequence.
virtual void | AddRunSequence (csTicks time, iSequence *sequence, iBase *params=0, uint sequence_id=0)=0
| Add a standard operation to execute another sequence.
virtual void | Clear ()=0
| Clear all operations in this sequence (call DecRef()).
virtual csSequenceOp * | GetFirstSequence ()=0
| Ugly but necessary for sequence to self-modify.
virtual bool | IsEmpty ()=0
| Return true if this sequence is empty.

## Detailed Description

A sequence of operations tagged with relative time information.

All operations added to this sequence will be executed relative to the time the sequence itself is executed. The execute order of operations added at the same relative time is undefined.

Main creators of instances implementing this interface:

- iSequenceManager::NewSequence()

Main users of this interface:

- iSequenceManager

Definition at line 113 of file sequence.h.

## Member Function Documentation

virtual void iSequence::AddCondition | ( | csTicks | time,
|  | iSequenceCondition * | condition,
|  | iSequence * | trueSequence,
|  | iSequence * | falseSequence,
|  | iBase * | params = `0`,
|  | uint | sequence_id = `0` |
| ) |  |  | `[pure virtual]`

Add a standard operation to perform a condition and execute the right sequence depending on the result.

This function will call IncRef() on the condition, but NOT on the sequences.

virtual void iSequence::AddLoop | ( | csTicks | time,
|  | iSequenceCondition * | condition,
|  | iSequence * | sequence,
|  | iBase * | params = `0`,
|  | uint | sequence_id = `0` |
| ) |  |  | `[pure virtual]`

Perform the sequence for as long as the condition is valid.

This function will call IncRef() on the condition, but NOT on the sequence.

virtual void iSequence::AddOperation | ( | csTicks | time,
|  | iSequenceOperation * | operation,
|  | iBase * | params = `0`,
|  | uint | sequence_id = `0` |
| ) |  |  | `[pure virtual]`

Add an operation to this sequence.

This function will call IncRef() on the operation.

virtual void iSequence::AddRunSequence | ( | csTicks | time,
|  | iSequence * | sequence,
|  | iBase * | params = `0`,
|  | uint | sequence_id = `0` |
| ) |  |  | `[pure virtual]`

Add a standard operation to execute another sequence.

This function will NOT call IncRef() on the sequence.

virtual void iSequence::Clear | ( |  | ) | `[pure virtual]`

Clear all operations in this sequence (call DecRef()).

virtual csSequenceOp* iSequence::GetFirstSequence | ( |  | ) | `[pure virtual]`

Ugly but necessary for sequence to self-modify.

virtual bool iSequence::IsEmpty | ( |  | ) | `[pure virtual]`

Return true if this sequence is empty.

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

- ivaria/sequence.h