Emergency 20 Dokumentation  4.2.0
MovementModes.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
13 #include "em5/Export.h"
14 
15 
16 //[-------------------------------------------------------]
17 //[ Namespace ]
18 //[-------------------------------------------------------]
19 namespace em5
20 {
21 
22 
23  //[-------------------------------------------------------]
24  //[ Classes ]
25  //[-------------------------------------------------------]
31  {
32 
33 
34  //[-------------------------------------------------------]
35  //[ Public definitions ]
36  //[-------------------------------------------------------]
37  public:
38  // (vs) The static AI configuration allows only one speed setting, which is used for the default (walk for civilians).
39  // Every time we want a civilian to run we need to use this value as a replacement via movement mode or even in the ad hoc speed tweaking functor.
40  // TODO Read this from a specs file
41  static const float gCivilianRunSpeed;
42 
43  // Available movement modes in EMERGENCY 5
44  enum Modes
45  {
46  MOVEMENT_MODE_DEFAULT = 0,
48  MOVEMENT_MODE_WALK_BACKWARDS, // TODO(mk) This value is not supported
49  MOVEMENT_MODE_RUN_PANIC, // TODO(mk) This value is not supported
50  MOVEMENT_MODE_CIVIL_CAR_MOVES_TO_THE_SIDE, // Ignoring traffic lights, lowering distance to keep
51  MOVEMENT_MODE_PLAYER_VEHICLE_ON_EMERGENCY_OPERATIONS, // Ignoring traffic lights, although this is done inside the functor
52  MOVEMENT_MODE_RUN, // For gangsters and civilians running away
53  MOVEMENT_MODE_SEARCHING, // Currently used for the rescue dog search (persons currently not supported)
54  MOVEMENT_MODE_MAGNET, // For FollowMagnetLogic
55  MOVEMENT_MODE_REDIRECT, // For vehicles changing lanes when they get redirected
56  MOVEMENT_MODE_FREE_WALK, // Civil persons can use the free area with it
57  MOVEMENT_MODE_FREE_RUN // Civil persons can run on the free area with it and run
58  };
59 
60 
61  //[-------------------------------------------------------]
62  //[ Public static methods ]
63  //[-------------------------------------------------------]
64  public:
69  static void registerMovementModes();
70 
71 
72  };
73 
74 
75 //[-------------------------------------------------------]
76 //[ Namespace ]
77 //[-------------------------------------------------------]
78 } // em5
Definition: ActionPriority.h:13
#define EM5_API_EXPORT
Definition: Export.h:28
Definition: MovementModes.h:56
Definition: MovementModes.h:54
Definition: MovementModes.h:53
Modes
Definition: MovementModes.h:44
Definition: MovementModes.h:55
static const float gCivilianRunSpeed
Definition: MovementModes.h:41
Definition: MovementModes.h:49
Definition: MovementModes.h:52
Static EMERGENCY 5 AI movement modes definition class.
Definition: MovementModes.h:30