DirectOutput
DirectOutput framework R2 for virtual pinball cabinets.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
DirectOutput.FX.IEffect Interface Reference

Common interface for all effects.
If a new effect is implemented it is best to inherit from the abstract class Effect which does also inherit IEffect.
All classes inheriting IEffect must be XMLSerializeable. More...

Inheritance diagram for DirectOutput.FX.IEffect:
Collaboration diagram for DirectOutput.FX.IEffect:

Public Member Functions

void Trigger (TableElementData TableElementData)
 Execute triggers the effect for the given TableElement. More...
 
void Init (Table.Table Table)
 Init must do all necessary initialization work after the IEffect object has been instanciated. More...
 
void Finish ()
 Finish must do all necessary cleanupwork before a IEffect object is discarded. More...
 

Properties

new string Name [get, set]
 Name of the effect.
More...
 
- Properties inherited from DirectOutput.General.Generic.INamedItem
string Name [get, set]
 Gets or sets the name of the item.
Must fire the BeforeNameChange and AfterNameChange events when the value of the property is changed. More...
 

Events

new EventHandler
< NameChangeEventArgs
AfterNameChanged
 This event must be fired after the Name property of a IEffect object has changed. More...
 
new EventHandler
< NameChangeEventArgs
BeforeNameChange
 This event must be fired before the Name property of a IEffect object is changed. More...
 
- Events inherited from DirectOutput.General.Generic.INamedItem
EventHandler< NameChangeEventArgsBeforeNameChange
 Occurs before the name of the item changes. More...
 
EventHandler< NameChangeEventArgsAfterNameChanged
 Occurs when after the name of the item has changed. More...
 

Detailed Description

Common interface for all effects.
If a new effect is implemented it is best to inherit from the abstract class Effect which does also inherit IEffect.
All classes inheriting IEffect must be XMLSerializeable.

Member Function Documentation

void DirectOutput.FX.IEffect.Init ( Table.Table  Table)

Init must do all necessary initialization work after the IEffect object has been instanciated.

Parameters
TableThe Table object containing the effect.

Implemented in DirectOutput.FX.ConditionFX.TableElementConditionEffect, DirectOutput.FX.EffectEffectBase, DirectOutput.FX.TimmedFX.ExtendDurationEffect, DirectOutput.FX.TimmedFX.DelayEffect, and DirectOutput.FX.EffectBase.

void DirectOutput.FX.IEffect.Trigger ( TableElementData  TableElementData)

Execute triggers the effect for the given TableElement.

Warning
Remember that the TableElementData parameter will contain null if a effect is called as a static effect. Make sure your implementation of this method does not fail when called with null.
Parameters
TableElementDataTableElementData object for the TableElement which has triggered the effect.

Implemented in DirectOutput.FX.ConditionFX.TableElementConditionEffect, DirectOutput.FX.TimmedFX.MinDurationEffect, DirectOutput.FX.TimmedFX.DelayEffect, and DirectOutput.FX.EffectBase.

Property Documentation

new string DirectOutput.FX.IEffect.Name
getset

Name of the effect.

Note
Be sure to fire the NameChanged event if the name of the object gets changed. The abstract Effect class does already implement this property and the required NameChanged event.

The name of the effect.

Event Documentation

new EventHandler<NameChangeEventArgs> DirectOutput.FX.IEffect.AfterNameChanged

This event must be fired after the Name property of a IEffect object has changed.

new EventHandler<NameChangeEventArgs> DirectOutput.FX.IEffect.BeforeNameChange

This event must be fired before the Name property of a IEffect object is changed.


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