47 #ifndef FLATLAND_SERVER_COLLISION_FILTER_REGISTRY_H 48 #define FLATLAND_SERVER_COLLISION_FILTER_REGISTRY_H 132 const std::vector<std::string> &layers,
133 std::vector<std::string> *invalid_layers =
nullptr)
const;
136 #endif // FLATLAND_SERVER_COLLISION_FILTER_REGISTRY_H uint16_t GetCategoryBits(const std::vector< std::string > &layers, std::vector< std::string > *invalid_layers=nullptr) const
: Get the Box2D category bits from a list of layers
Definition: collision_filter_registry.cpp:124
Definition: collision_filter_registry.h:63
static const int LAYER_ALREADY_EXIST
Layer exists.
Definition: collision_filter_registry.h:66
int RegisterNoCollide()
Get a new and unique no collision group, -ve numbers.
Definition: collision_filter_registry.cpp:64
int LayersCount() const
Get number of layers.
Definition: collision_filter_registry.cpp:120
static const int MAX_LAYERS
16 is the maximum as defined by Box2D
Definition: collision_filter_registry.h:68
bool IsLayersFull() const
Check if the number of layers maxed out.
Definition: collision_filter_registry.cpp:69
std::vector< std::string > GetAllLayers() const
Get all registered layers.
Definition: collision_filter_registry.cpp:109
int RegisterLayer(std::string layer)
Register a new layer.
Definition: collision_filter_registry.cpp:73
CollisionFilterRegistry()
Constructor for the collision filter registry.
Definition: collision_filter_registry.cpp:56
int no_collide_group_cnt_
internal counter to keep track of no collides groups
Definition: collision_filter_registry.h:71
static const int LAYER_NOT_EXIST
No such layer.
Definition: collision_filter_registry.h:65
static const int LAYERS_FULL
Cannot add more layers.
Definition: collision_filter_registry.h:67
int RegisterCollide()
Get a new and unique collision group, +ve numbers.
Definition: collision_filter_registry.cpp:59
int collide_group_cnt_
internal counter to keep track of collide groups
Definition: collision_filter_registry.h:73
std::map< std::string, int > layer_id_table_
Layer name to ID LUT.
Definition: collision_filter_registry.h:74
int LookUpLayerId(std::string name) const
get layer ID
Definition: collision_filter_registry.cpp:102