ezEngine  Milestone 7
StaticSubSystem.h
Go to the documentation of this file.
1 #pragma once
2 
4 
35 
39 #define EZ_BEGIN_SUBSYSTEM_DECLARATION(GroupName, SubsystemName) \
40  class GroupName##SubsystemName##SubSystem; \
41  typedef GroupName##SubsystemName##SubSystem SubSystemType; \
42  class GroupName##SubsystemName##SubSystem : public ezSubSystem { \
43  public: virtual const char* GetGroupName() const { return #GroupName; } \
44  public: virtual const char* GetSubSystemName() const { return #SubsystemName; } \
45 
46 
47 #define EZ_END_SUBSYSTEM_DECLARATION \
48  }; static SubSystemType EZ_CONCAT(s_SubSystem, EZ_SOURCE_LINE);
49 
53 #define ON_BASE_STARTUP \
54  private: virtual void OnBaseStartup()
55 
59 #define ON_CORE_STARTUP \
60  private: virtual void OnCoreStartup()
61 
65 #define ON_CORE_SHUTDOWN \
66  private: virtual void OnCoreShutdown()
67 
71 #define ON_ENGINE_STARTUP \
72  private: virtual void OnEngineStartup()
73 
77 #define ON_ENGINE_SHUTDOWN \
78  private: virtual void OnEngineShutdown()
79 
83 #define BEGIN_SUBSYSTEM_DEPENDENCIES \
84  public: virtual const char* GetDependency(ezInt32 iDep) \
85  { \
86  const char* szDeps[] = { \
87 
88 
89 #define END_SUBSYSTEM_DEPENDENCIES \
90  , nullptr }; \
91  return szDeps[iDep]; \
92  }
93 
95 #define EZ_MAKE_SUBSYSTEM_STARTUP_FRIEND(GroupName, SubsystemName) \
96  friend class GroupName##SubsystemName##SubSystem;
97 
98