You.i Engine
YiTransition.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_STATE_TRANSITION_H_
3 #define _YI_STATE_TRANSITION_H_
4 
6 #include "signal/YiSignal.h"
7 
8 class CYIEventHandler;
9 class CYIEvent;
10 
11 namespace yi
12 {
18 namespace deprecated
19 {
20 class CYICompoundState;
21 class CYIAbstractState;
22 class CYITransitionPriv;
23 class CYIStateMachine;
24 
40 {
41 public:
46  CYIAbstractState *pTarget = 0);
47  virtual ~CYITransition();
48 
57 
65  void SetSourceState(CYICompoundState *pState);
66 
70  std::list<CYIAbstractState *> GetTargetStates();
74  void AddTargetState(CYIAbstractState *pState);
78  void RemoveTargetState(CYIAbstractState *pState);
79 
83  void SetName(const CYIString &name);
87  const CYIString &GetName() const;
88 
92  void SetTimeline(CYIAbstractTimeline *pTimeline);
100  void RemoveTimeline();
104  const CYIAbstractTimeline *GetTimeline() const;
105 
114 
118  uint64_t GetDuration() const;
119 
120 protected:
124  virtual bool TestEvent(CYIEvent *);
125 
129  virtual void OnTransitionStart(CYIEvent *);
133  virtual void OnTransitionEnd(CYIEvent *);
134 
136 
138 
139  friend class CYICompoundState;
140  friend class CYITransitionPriv;
141 
142 private:
144 };
145 
146 } //namespace deprecated
147 
150 } //namespace yi
151 
152 #endif // _YI_STATE_TRANSITION_H_
Definition: YiAbstractSignalTransition.h:7
virtual void OnTransitionStart(CYIEvent *)
The base class for the timeline framework.
Definition: YiAbstractTimeline.h:29
DIRECTION
Definition: YiAbstractTimeline.h:64
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:114
Allows registering of event filters which can be used to perform processing on an event before and af...
Definition: YiEventHandler.h:25
void AddTargetState(CYIAbstractState *pState)
void SetName(const CYIString &name)
Base class for events.
Definition: YiEvent.h:489
The base class for state types in CYIStateMachine.
Definition: YiAbstractState.h:31
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
CYIAbstractTimeline::DIRECTION GetTimelineDirection() const
CYITransitionPriv * m_pPriv
Definition: YiTransition.h:135
void SetTimelineDirection(CYIAbstractTimeline::DIRECTION direction)
The base class for an object accessible from script source code.
Definition: YiScriptableObject.h:28
virtual void OnTransitionEnd(CYIEvent *)
The base class for CYIState and CYIParallelState.
Definition: YiCompoundState.h:26
virtual bool TestEvent(CYIEvent *)
void SetTimeline(CYIAbstractTimeline *pTimeline)
const CYIString & GetName() const
void SetSourceState(CYICompoundState *pState)
const CYIAbstractTimeline * GetTimeline() const
CYISignal TransitionStarted
Definition: YiTransition.h:52
std::list< CYIAbstractState * > GetTargetStates()
friend class CYITransitionPriv
Definition: YiTransition.h:140
CYISignal TransitionEnded
Definition: YiTransition.h:56
CYICompoundState * GetSourceState()
Signals and slots are a thread-safe and flexible communication framework that will allow various obje...
Definition: YiSignal.h:164
The base class for transitions between states in the state machine.
Definition: YiTransition.h:39
void RemoveTargetState(CYIAbstractState *pState)
CYITransition(CYICompoundState *pSource, CYIAbstractState *pTarget=0)
uint64_t GetDuration() const