You.i Engine
yi::deprecated::CYITransition Class Reference

Detailed Description

The base class for transitions between states in the state machine.

This class provides a common interface for any transition.

This type of transition is taken whenever the source state becomes active.

Transitions have one source state and 0 or more target states.

A CYIAbstractTimeline can be tied to each transition. With no CYIAbstractTimeline, the transition is instantaneous, and has duration 0. If a CYIAbstractTimeline is specified, the transition has duration equal to the length of the CYIAbstractTimeline.

Start and end callbacks are provided in the form of signals and virtual methods. If no CYIAbstractTimeline is set end will be triggered immediately after start.

#include <deprecated/YiTransition.h>

Inheritance diagram for yi::deprecated::CYITransition:

Public Member Functions

 CYITransition (CYICompoundState *pSource, CYIAbstractState *pTarget=0)
 
virtual ~CYITransition ()
 
CYICompoundStateGetSourceState ()
 
void SetSourceState (CYICompoundState *pState)
 
std::list< CYIAbstractState * > GetTargetStates ()
 
void AddTargetState (CYIAbstractState *pState)
 
void RemoveTargetState (CYIAbstractState *pState)
 
void SetName (const CYIString &name)
 
const CYIStringGetName () const
 
void SetTimeline (CYIAbstractTimeline *pTimeline)
 
void SetTimeline (CYIAbstractTimeline *pTimeline, CYIAbstractTimeline::DIRECTION direction)
 
void RemoveTimeline ()
 
const CYIAbstractTimelineGetTimeline () const
 
void SetTimelineDirection (CYIAbstractTimeline::DIRECTION direction)
 
CYIAbstractTimeline::DIRECTION GetTimelineDirection () const
 
uint64_t GetDuration () const
 
- Public Member Functions inherited from CYIScriptableObject
 CYIScriptableObject ()
 
 CYIScriptableObject (const CYIScriptableObject &other)
 
CYIScriptableObjectoperator= (const CYIScriptableObject &other)
 
virtual ~CYIScriptableObject ()
 
CYIBindingImplementationGetBindingImplementation () const
 
void SetBindingImplementation (CYIBindingImplementation *pBindingImplementation)
 
virtual const CYIRuntimeTypeInfoGetRuntimeTypeInfoForScriptObject () const
 

Public Attributes

CYISignal TransitionStarted
 
CYISignal TransitionEnded
 

Protected Member Functions

virtual bool TestEvent (CYIEvent *)
 
virtual void OnTransitionStart (CYIEvent *)
 
virtual void OnTransitionEnd (CYIEvent *)
 
 CYITransition (CYITransitionPriv *priv, CYICompoundState *source, CYIAbstractState *target)
 

Protected Attributes

CYITransitionPrivm_pPriv
 

Friends

class CYICompoundState
 
class CYITransitionPriv
 

Constructor & Destructor Documentation

yi::deprecated::CYITransition::CYITransition ( CYICompoundState pSource,
CYIAbstractState pTarget = 0 
)

Create a transition from pSource to pTarget. pSource may be nullptr, but remember to set it later using CYITransition::SetSourceState

virtual yi::deprecated::CYITransition::~CYITransition ( )
virtual
yi::deprecated::CYITransition::CYITransition ( CYITransitionPriv priv,
CYICompoundState source,
CYIAbstractState target 
)
protected

Member Function Documentation

void yi::deprecated::CYITransition::AddTargetState ( CYIAbstractState pState)

Adds pState as a target state of this transition.

uint64_t yi::deprecated::CYITransition::GetDuration ( ) const

Returns the time in milliseconds that this transition will last. Is always equal to the length of the associated timeline.

const CYIString& yi::deprecated::CYITransition::GetName ( ) const
See also
SetName
CYICompoundState* yi::deprecated::CYITransition::GetSourceState ( )

Returns the source state of this transition, can be nullptr.

std::list<CYIAbstractState *> yi::deprecated::CYITransition::GetTargetStates ( )

Returns a list of the target states of this transition.

const CYIAbstractTimeline* yi::deprecated::CYITransition::GetTimeline ( ) const

Retrieve the timeline associated with this transition.

CYIAbstractTimeline::DIRECTION yi::deprecated::CYITransition::GetTimelineDirection ( ) const

Returns the direction of timeline playback.

void yi::deprecated::CYITransition::RemoveTargetState ( CYIAbstractState pState)

Removes pState as a target state of this transition.

void yi::deprecated::CYITransition::RemoveTimeline ( )

Remove the timeline. This timeline will have duration of 0.

void yi::deprecated::CYITransition::SetName ( const CYIString name)

Sets the name of this transition for debugging purposes.

void yi::deprecated::CYITransition::SetSourceState ( CYICompoundState pState)

Sets the source state of this transition. pState may be nullptr, but remember to set it later

void yi::deprecated::CYITransition::SetTimeline ( CYIAbstractTimeline pTimeline)

Set the timeline associated with this transition. Pass in nullptr to remove, or use CYITransition::RemoveTimeline.

void yi::deprecated::CYITransition::SetTimeline ( CYIAbstractTimeline pTimeline,
CYIAbstractTimeline::DIRECTION  direction 
)

Set the timeline associated with this transition along with the direction of playback.

void yi::deprecated::CYITransition::SetTimelineDirection ( CYIAbstractTimeline::DIRECTION  direction)

Set the direction of playback for the timeline associated with this transition. The direction is ignored if there is no timeline.

Friends And Related Function Documentation

friend class CYICompoundState
friend
friend class CYITransitionPriv
friend

Member Data Documentation

CYITransitionPriv* yi::deprecated::CYITransition::m_pPriv
protected
CYISignal yi::deprecated::CYITransition::TransitionEnded

The signal emitted when this transition ends. Is emitted immediately after CYITransition::TransitionStarted if this transition has duration 0.

CYISignal yi::deprecated::CYITransition::TransitionStarted

The signal emitted when this transition is started


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