#ifndef _FSM_IBEHAVIOURALSTATE_HPP_
#define _FSM_IBEHAVIOURALSTATE_HPP_
/// 
/// Sub class used to define methods implemented by behavioural specific states.
/// 
class IBehaviouralState {
public:
  /// 
  /// Enters the current state. Used for setup.
  /// 
  virtual void enter() = 0;
  /// 
  /// Updates the current state, used for physics, etc.
  /// 
  virtual void act() = 0;
  /// 
  /// Exits the state, used for cleanup.
  /// 
  virtual void exit() = 0;
};
#endif // _FSM_IBEHAVIOURALSTATE_HPP_