aboutsummaryrefslogtreecommitdiff
path: root/shared/IBehaviouralState.hpp
blob: c41fef3e041bf079eba00490106ade3869c79493 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef _FSM_IBEHAVIOURALSTATE_HPP_
#define _FSM_IBEHAVIOURALSTATE_HPP_

/// <summary>
/// Sub class used to define methods implemented by behavioural specific states.
/// </summary>
class IBehaviouralState {
public:
  /// <summary>
  /// Enters the current state. Used for setup.
  /// </summary>
  virtual void enter() = 0;

  /// <summary>
  /// Updates the current state, used for physics, etc.
  /// </summary>
  virtual void act() = 0;

  /// <summary>
  /// Exits the state, used for cleanup.
  /// </summary>
  virtual void exit() = 0;
};

#endif // _FSM_IBEHAVIOURALSTATE_HPP_