aether::ecs::ecs< P, T, U >::behaviour_adapter< Behaviour > Struct Template Reference

#include <ecs.hh>

Public Types

using behaviour_type = Behaviour
 
using agent_components = typename behaviour_type::agent_components
 
using tick_accessed_components = typename behaviour_type::accessed_components
 
using accessed_components = typename mpl::concat< agent_components, tick_accessed_components >::type
 
using ecs_type = constrained_ecs< ecs, accessed_components >
 

Public Member Functions

void operator() (const aether::cell_state< octree_traits > &aether_state, ecs_type &state, float delta_time)
 

Member Typedef Documentation

template<typename P, typename T, typename U = std::monostate>
template<typename Behaviour >
using aether::ecs::ecs< P, T, U >::behaviour_adapter< Behaviour >::accessed_components = typename mpl::concat<agent_components, tick_accessed_components>::type
template<typename P, typename T, typename U = std::monostate>
template<typename Behaviour >
using aether::ecs::ecs< P, T, U >::behaviour_adapter< Behaviour >::agent_components = typename behaviour_type::agent_components
template<typename P, typename T, typename U = std::monostate>
template<typename Behaviour >
using aether::ecs::ecs< P, T, U >::behaviour_adapter< Behaviour >::behaviour_type = Behaviour
template<typename P, typename T, typename U = std::monostate>
template<typename Behaviour >
using aether::ecs::ecs< P, T, U >::behaviour_adapter< Behaviour >::ecs_type = constrained_ecs<ecs, accessed_components>
template<typename P, typename T, typename U = std::monostate>
template<typename Behaviour >
using aether::ecs::ecs< P, T, U >::behaviour_adapter< Behaviour >::tick_accessed_components = typename behaviour_type::accessed_components

Member Function Documentation

template<typename P, typename T, typename U = std::monostate>
template<typename Behaviour >
void aether::ecs::ecs< P, T, U >::behaviour_adapter< Behaviour >::operator() ( const aether::cell_state< octree_traits > &  aether_state,
ecs_type state,
float  delta_time 
)
inline