Cafu Engine
AllComponents.hpp
1 /*
2 Cafu Engine, http://www.cafu.de/
3 Copyright (c) Carsten Fuchs and other contributors.
4 This project is licensed under the terms of the MIT license.
5 */
6 
7 #ifndef CAFU_GAMESYS_ALL_COMPONENTS_HPP_INCLUDED
8 #define CAFU_GAMESYS_ALL_COMPONENTS_HPP_INCLUDED
9 
10 #include "TypeSys.hpp"
11 
12 
13 namespace cf
14 {
15  namespace GameSys
16  {
17  /// All classes in the ComponentBaseT hierarchy must register their TypeInfoT
18  /// members with this TypeInfoManT instance.
19  cf::TypeSys::TypeInfoManT& GetComponentTIM();
20 
21  /// Returns whether the given component type is fundamental to its parent entity.
22  /// Fundamental components are explicit C++ members of class EntityT. Users cannot delete them in the Map
23  /// Editor or via script, and cannot add new ones in the Map Editor. (It is possible to add additional
24  /// ones via script, but not useful.)
25  /// Note that most components are not fundamental, but "custom": Users can freely add or delete them in
26  /// the Map Editor or via scripts.
27  bool IsFundamental(const cf::TypeSys::TypeInfoT* CompType);
28  }
29 }
30 
31 #endif
This class manages the type infos.
Definition: TypeSys.hpp:145
This class keeps type information (about an entity class that occurs in the game).
Definition: TypeSys.hpp:79