Emergency 20 Dokumentation  4.2.0
CollisionTypes.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 //[ Namespace ]
12 //[-------------------------------------------------------]
13 namespace em5
14 {
15  namespace collision
16  {
17 
18 
19  // TODO(co) Semantics is wrong, "filter group" = "that's me, my category"
29  enum Types
30  {
31  // Values defined by bullet and how we use them in EM5
32  DEFAULTFILTER = 1 << 0, // Default is used as real physical collision inside EM5. Besides this typical (=> default) type of collision objects we also use collisions for testing perceptions for the AI for example
33  STATICFILTER = 1 << 1, // everything that is static
34  KINEMATICFILTER = 1 << 2, // everything that may move
35  DEBRISFILTER = 1 << 3, // unclear
36  SENSORTRIGGER = 1 << 4, // everything that is no physical collision but a stimulus for the perception system
37  CHARACTERFILTER = 1 << 5, // player controlled entities
38 
39  // Custom EM5 values start
40 
41  // depth boundaries for the water. The water depth are already mixed, inclusive types. every medium water entity is also a shallow water entity for example
42  SHALLOWWATERFILTER = 1 << 6, // only the diver may move here, but he doesn't swim. Persons don't drown but also don't move here
43  MEDIUMWATERFILTER = 1 << 7 | SHALLOWWATERFILTER, // player motorboat and diver, but not the big ships like the player cruiser, persons drown here
44  DEEPWATERFILTER = 1 << 8 | MEDIUMWATERFILTER, //all boats including the player cruiser, persons drown here
45 
46  // danger objects
48  TOXICCLOUDFILTER = 1 << 10,
49 
50  VORONOIFILTER = 1 << 11, // voronoi tester are the objects that create the AI maps
51  PROJECTILEFILTER = 1 << 12, // bullets, thrown grenades or rocks or molotov cocktails
52  };
53 
54 
55 //[-------------------------------------------------------]
56 //[ Namespace ]
57 //[-------------------------------------------------------]
58  } // collision
59 } // em5
Definition: ActionPriority.h:13
Definition: CollisionTypes.h:47
Definition: CollisionTypes.h:48
Definition: CollisionTypes.h:51
Definition: CollisionTypes.h:34
Definition: CollisionTypes.h:43
Definition: CollisionTypes.h:50
Definition: CollisionTypes.h:32
Definition: CollisionTypes.h:44
Definition: CollisionTypes.h:36
Definition: CollisionTypes.h:35
Definition: CollisionTypes.h:37
Definition: CollisionTypes.h:33
Types
Specification of the collision flags used inside EMERGENCY 5. These flags are used as single bit valu...
Definition: CollisionTypes.h:29
Definition: CollisionTypes.h:42