Toast Engine
Loading...
Searching...
No Matches
reflect_node.hpp File Reference
#include <array>
#include <toast/reflect/reflect.hpp>
#include <type_traits>
#include <unordered_map>
#include <utility>
Include dependency graph for reflect_node.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  toast::TickFunctions
 Set of lifecycle function pointers for one Node type. More...
struct  toast::SubgroupInfo
 A named sub-section of fields inside a GroupInfo. More...
struct  toast::GroupInfo
 Top-level category grouping fields and optional SubgroupInfo children. More...
struct  toast::NodeInfo
 Complete reflection record for a registered Node type. More...
struct  toast::NodeTypeInfo< T >
class  toast::NodeRegistry
 Global registry mapping fully-qualified type names to NodeInfo pointers. More...

Namespaces

namespace  toast::_detail
 Member-robber pattern used by the generated reflection code.

Enumerations

enum class  toast::TickFunctionList : uint16_t {
  none = 0 , editor_tick = 1 << 1 , init = 1 << 2 , destroy = 1 << 3 ,
  begin = 1 << 4 , end = 1 << 5 , on_enable = 1 << 6 , on_disable = 1 << 7 ,
  early_tick = 1 << 8 , tick = 1 << 9 , post_physics = 1 << 10 , late_tick = 1 << 11 ,
  load = 1 << 12 , save = 1 << 13 , physics_tick = 1 << 14 , tick_mask = early_tick | tick | physics_tick | post_physics | late_tick | editor_tick ,
  all = 0xFFFF
}
 Bit-flag set describing which lifecycle phases a Node type implements. More...

Functions

void TOAST_API toast::_detail::callNodeScripts (Node *node, std::string_view name, std::span< const std::any > args) noexcept
void TOAST_API toast::_detail::setNodeScriptVar (Node *node, std::string_view name, const std::any &value) noexcept
auto TOAST_API toast::_detail::getNodeScriptVar (const Node *node, std::string_view name) noexcept -> std::any
template<typename R = void, typename... Args>
auto toast::_detail::callMethodChain (const NodeInfo *info, void *obj, std::string_view method_name, const Args &... args) -> R
constexpr auto toast::operator& (TickFunctionList lhs, TickFunctionList rhs) -> TickFunctionList
constexpr auto toast::operator| (TickFunctionList lhs, TickFunctionList rhs) -> TickFunctionList
constexpr auto toast::operator&= (TickFunctionList &lhs, TickFunctionList rhs) -> TickFunctionList &
constexpr auto toast::operator|= (TickFunctionList &lhs, TickFunctionList rhs) -> TickFunctionList &
constexpr auto toast::hasFlag (TickFunctionList flags, TickFunctionList flag) -> bool
constexpr auto toast::tickFunctionName (TickFunctionList func) -> std::string_view
TOAST_API void toast::registerEngineTypes ()
template<class T>
auto toast::nodeTypeInfo () noexcept -> const NodeInfo *

Detailed Description

Author
Xein Xein
Date
03 Jul 26

Enumeration Type Documentation

◆ TickFunctionList

enum class toast::TickFunctionList : uint16_t
strong

Bit-flag set describing which lifecycle phases a Node type implements.

Used by the scheduler to build wave assignments and by the code generator to populate TickFunctions::list. tick_mask is the subset that executes every frame.