CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
SystemUI.hpp File Reference
#include "CeresEngine/Macros.hpp"
#include "CeresEngine/Entity/System.hpp"
#include "CeresEngine/Entity/SystemManager.hpp"
#include <type_traits>

Go to the source code of this file.

Classes

class  CeresEngine::Editor::UI::SystemUI
 
class  CeresEngine::Editor::UI::BasicSystemUI< S, bool >
 
class  CeresEngine::Editor::UI::BasicSystemUI< S, true >
 
class  CeresEngine::Editor::UI::TSystemUI< S >
 
class  CeresEngine::Editor::UI::SystemUIRegistry
 

Namespaces

namespace  CeresEngine
 
namespace  CeresEngine::Editor
 
namespace  CeresEngine::Editor::UI
 

Macros

#define CE_EDITOR_SYSTEM_TOKENPASTE(x, y)   x##y
 
#define CE_EDITOR_SYSTEM_TOKENPASTE2(x, y)   CE_EDITOR_SYSTEM_TOKENPASTE(x, y)
 
#define CE_EDITOR_SYSTEM(...)
 
#define CE_EDITOR_SYSTEM_ADVANCED(EditorClass)   static const EditorClass CE_EDITOR_SYSTEM_TOKENPASTE2(systemUI, EditorClass) [[maybe_unused]]{};
 
#define CE_EDITOR_SYSTEM_ADVANCED2(Name, ClassName, ...)
 

Macro Definition Documentation

◆ CE_EDITOR_SYSTEM

#define CE_EDITOR_SYSTEM (   ...)
Value:
static const ::CeresEngine::Editor::UI::TSystemUI<__VA_ARGS__> CE_EDITOR_SYSTEM_TOKENPASTE2(systemUI, __COUNTER__) [[maybe_unused]] = [ \
](::CeresEngine::Editor::UI::TSystemUI<__VA_ARGS__> & ui, ::CeresEngine::String & name, auto& supports, auto& add, auto& remove, auto& render) noexcept
#define CE_EDITOR_SYSTEM_TOKENPASTE2(x, y)
Definition SystemUI.hpp:148
Definition SystemUI.hpp:71

◆ CE_EDITOR_SYSTEM_ADVANCED

#define CE_EDITOR_SYSTEM_ADVANCED (   EditorClass)    static const EditorClass CE_EDITOR_SYSTEM_TOKENPASTE2(systemUI, EditorClass) [[maybe_unused]]{};

◆ CE_EDITOR_SYSTEM_ADVANCED2

#define CE_EDITOR_SYSTEM_ADVANCED2 (   Name,
  ClassName,
  ... 
)
Value:
struct Name##SystemUI final : public ::CeresEngine::Editor::UI::BasicSystemUI<ClassName> { \
__VA_ARGS__ [[nodiscard]] ::CeresEngine::String getName() const override { return #Name; } \
}; \
CE_EDITOR_SYSTEM_ADVANCED(Name##SystemUI)
Definition SystemUI.hpp:46
virtual String getName() const =0
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25

◆ CE_EDITOR_SYSTEM_TOKENPASTE

#define CE_EDITOR_SYSTEM_TOKENPASTE (   x,
 
)    x##y

◆ CE_EDITOR_SYSTEM_TOKENPASTE2

#define CE_EDITOR_SYSTEM_TOKENPASTE2 (   x,
 
)    CE_EDITOR_SYSTEM_TOKENPASTE(x, y)