00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
#ifndef FsmStateH
00014
#define FsmStateH
00015
00016
#include "../GeneralInclude/ForwardDeclarations.h"
00017
#include "../GeneralInclude/BasicTypes.h"
00018
#include "../Base/CC_RootObject.h"
00019
00063 class FsmState :
public CC_RootObject {
00064
00065
private:
00066
FsmState* pNextState;
00067
00068
public:
00069
00074
FsmState(
void);
00075
00088
virtual bool canEnter(
void);
00089
00098
virtual void doInit(
void);
00099
00112
virtual bool canExit(
void);
00113
00121
virtual void doContinue(
void) = 0;
00122
00131
virtual void doExit(
void);
00132
00144
virtual bool isFinished(
void);
00145
00156
inline void setNextState(
FsmState* pNextState);
00157
00164
inline FsmState*
getNextState(
void)
const;
00165
00166 };
00167
00168
#include "FsmState_inl.h"
00169
00170
#endif
00171
00172