All pastes #476710 Raw Edit

Someone

public cpp v1 · immutable
·published 2007-05-08 09:00 UTC
rendered paste body
#include "FSM.h"get_messages(FiniteStateMachine)Constructor()  InternalStates.resize(0);  OnState = -1;  OwningClass = -1;  data_message(SET_OWNER, SetOwner)  OwningClass = data->OwningClass;   data_message(ADD_STATE, AddState)  State PushState = {data->OnEnter, data->OnExit, data->OnUpdate};  InternalStates.push_back(PushState);  data_message(CHANGE_STATE, ChangeState)  if (OnState != data->NewState)  {    if (OwningClass > -1 && OnState > -1 && InternalStates[OnState].OnExit > -1)    {      umsg(FSM, FSMCallback, StateUpdate);      StateUpdate->Data.OnState = OnState;      CMsg(StateUpdate, OwningClass, InternalStates[OnState].OnExit, 0);      }    OnState = data->NewState;    if (OwningClass > -1 && OnState > -1 && InternalStates[OnState].OnEnter > -1)    {      umsg(FSM, FSMCallback, StateUpdate);      StateUpdate->Data.OnState = OnState;      CMsg(StateUpdate, OwningClass, InternalStates[OnState].OnEnter, 0);      }      }  message(UPDATE_ME)  if (OwningClass > -1 && OnState > -1 && InternalStates[OnState].OnUpdate > -1)  {    umsg(FSM, FSMCallback, StateUpdate);    StateUpdate->Data.OnState = OnState;    CMsg(StateUpdate, OwningClass, InternalStates[OnState].OnUpdate, 0);    }end_messages