Vyroda
Game engine made by hand, with modern C++ and Vulkan.
Loading...
Searching...
No Matches
Vyroda::EntityManager Class Referenceexport

Public Member Functions

 EntityManager (ComponentManager &component_manager, TextureManager &texture_manager)
 ~EntityManager ()=default
void clear ()
std::shared_ptr< EntitygetSkybox () const
std::shared_ptr< EntitygetTerrain () const
std::shared_ptr< EntitygetWater () const
std::shared_ptr< EntitygetShadowMap () const
std::shared_ptr< EntitygetText (std::uint32_t const index) const
std::span< std::shared_ptr< Entity > > getTexts ()
std::span< std::shared_ptr< Entity > > getEntities ()
std::span< std::shared_ptr< Entity > > getTransparentEntities ()
std::function< void()> load (Renderer const &renderer, json const &lvl_config)
void setSkybox (std::shared_ptr< Entity > skybox)
void setTerrain (std::shared_ptr< Entity > terrain)
void setWater (std::shared_ptr< Entity > water)
void setShadowMap (std::shared_ptr< Entity > shadow_map)
std::size_t addText (std::shared_ptr< Entity > text)
void addEntity (std::shared_ptr< Entity > entity)
void addTransparentEntity (std::shared_ptr< Entity > entity)
void addTextEntity (std::shared_ptr< Entity > entity)
std::shared_ptr< EntityNode > const addEntityToWorld (std::shared_ptr< Entity > entity)
EntityNodegetWorldNode ()
void initMeshes (Renderer const &renderer, std::string const &name, json const &raw_data)
void initWorldGraph ()
std::shared_mutex & lockWorldNode ()

Constructor & Destructor Documentation

◆ EntityManager()

Vyroda::EntityManager::EntityManager ( ComponentManager & component_manager,
TextureManager & texture_manager )
explicit
Here is the call graph for this function:

◆ ~EntityManager()

Vyroda::EntityManager::~EntityManager ( )
default

Member Function Documentation

◆ addEntity()

void Vyroda::EntityManager::addEntity ( std::shared_ptr< Entity > entity)
Here is the caller graph for this function:

◆ addEntityToWorld()

std::shared_ptr< EntityNode > const Vyroda::EntityManager::addEntityToWorld ( std::shared_ptr< Entity > entity)

◆ addText()

std::size_t Vyroda::EntityManager::addText ( std::shared_ptr< Entity > text)
inline

◆ addTextEntity()

void Vyroda::EntityManager::addTextEntity ( std::shared_ptr< Entity > entity)

◆ addTransparentEntity()

void Vyroda::EntityManager::addTransparentEntity ( std::shared_ptr< Entity > entity)
Here is the caller graph for this function:

◆ clear()

void Vyroda::EntityManager::clear ( )

◆ getEntities()

std::span< std::shared_ptr< Entity > > Vyroda::EntityManager::getEntities ( )
inline

◆ getShadowMap()

std::shared_ptr< Entity > Vyroda::EntityManager::getShadowMap ( ) const
inline

◆ getSkybox()

std::shared_ptr< Entity > Vyroda::EntityManager::getSkybox ( ) const
inline

◆ getTerrain()

std::shared_ptr< Entity > Vyroda::EntityManager::getTerrain ( ) const
inline

◆ getText()

std::shared_ptr< Entity > Vyroda::EntityManager::getText ( std::uint32_t const index) const
inline

◆ getTexts()

std::span< std::shared_ptr< Entity > > Vyroda::EntityManager::getTexts ( )
inline

◆ getTransparentEntities()

std::span< std::shared_ptr< Entity > > Vyroda::EntityManager::getTransparentEntities ( )
inline

◆ getWater()

std::shared_ptr< Entity > Vyroda::EntityManager::getWater ( ) const
inline

◆ getWorldNode()

EntityNode * Vyroda::EntityManager::getWorldNode ( )

◆ initMeshes()

void Vyroda::EntityManager::initMeshes ( Renderer const & renderer,
std::string const & name,
json const & raw_data )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initWorldGraph()

void Vyroda::EntityManager::initWorldGraph ( )
Here is the caller graph for this function:

◆ load()

std::function< void()> Vyroda::EntityManager::load ( Renderer const & renderer,
json const & lvl_config )
Here is the call graph for this function:

◆ lockWorldNode()

std::shared_mutex & Vyroda::EntityManager::lockWorldNode ( )
inline
Here is the caller graph for this function:

◆ setShadowMap()

void Vyroda::EntityManager::setShadowMap ( std::shared_ptr< Entity > shadow_map)
inline

◆ setSkybox()

void Vyroda::EntityManager::setSkybox ( std::shared_ptr< Entity > skybox)
inline

◆ setTerrain()

void Vyroda::EntityManager::setTerrain ( std::shared_ptr< Entity > terrain)
inline

◆ setWater()

void Vyroda::EntityManager::setWater ( std::shared_ptr< Entity > water)
inline

The documentation for this class was generated from the following files: