Nebula
Loading...
Searching...
No Matches
Game::ProcessorBuilder Class Reference

#include <processor.h>

Public Member Functions

 ProcessorBuilder ()=delete
 ProcessorBuilder (Game::World *world, Util::StringAtom processorName)
template<typename LAMBDA>
ProcessorBuilder & Func (LAMBDA)
 which function to run with the processor
template<typename ... COMPONENTS>
ProcessorBuilder & Func (std::function< void(World *, COMPONENTS...)> func)
 which function to run with the processor
template<typename ... COMPONENTS>
ProcessorBuilder & Including ()
 entities must have these components
template<typename ... COMPONENTS>
ProcessorBuilder & Excluding ()
 entities must not have any of these components
ProcessorBuilder & Excluding (std::initializer_list< ComponentId >)
 entities must not have any of these components
ProcessorBuilder & On (Util::StringAtom eventName)
 select on which event the processor is executed
ProcessorBuilder & Async ()
 processor should run async
ProcessorBuilder & OnlyModified ()
 entities must be marked as modified for them to actually be processed
ProcessorBuilder & Order (int order)
 Set the sorting order for the processor.
ProcessorBuilder & RunInEditor ()
 Processor should always run, even in editor; when the game is paused.
Processor * Build ()
 Build the processor and attach it to the world.

Private Attributes

World * world
Util::StringAtom name
Util::StringAtom onEvent
std::function< void(World *, Dataset::View const &)> func = nullptr
std::function< void(World *, Dataset::View const &)> funcModified = nullptr
FilterBuilder filterBuilder
bool async = false
bool onlyModified = false
int order = 100

Constructor & Destructor Documentation

◆ ProcessorBuilder() [1/2]

Game::ProcessorBuilder::ProcessorBuilder ( )
delete

◆ ProcessorBuilder() [2/2]

Game::ProcessorBuilder::ProcessorBuilder ( Game::World * world,
Util::StringAtom processorName )

Member Function Documentation

◆ Async()

ProcessorBuilder & Game::ProcessorBuilder::Async ( )

processor should run async

◆ Build()

Processor * Game::ProcessorBuilder::Build ( )

Build the processor and attach it to the world.

◆ Excluding() [1/2]

template<typename ... COMPONENTS>
ProcessorBuilder & Game::ProcessorBuilder::Excluding ( )
inline

entities must not have any of these components

◆ Excluding() [2/2]

ProcessorBuilder & Game::ProcessorBuilder::Excluding ( std::initializer_list< ComponentId > components)

entities must not have any of these components

◆ Func() [1/2]

template<typename LAMBDA>
ProcessorBuilder & Game::ProcessorBuilder::Func ( LAMBDA lambda)

which function to run with the processor

◆ Func() [2/2]

template<typename ... COMPONENTS>
ProcessorBuilder & Game::ProcessorBuilder::Func ( std::function< void(World *, COMPONENTS...)> func)
inline

which function to run with the processor

◆ Including()

template<typename ... COMPONENTS>
ProcessorBuilder & Game::ProcessorBuilder::Including ( )
inline

entities must have these components

◆ On()

ProcessorBuilder & Game::ProcessorBuilder::On ( Util::StringAtom eventName)

select on which event the processor is executed

◆ OnlyModified()

ProcessorBuilder & Game::ProcessorBuilder::OnlyModified ( )

entities must be marked as modified for them to actually be processed

◆ Order()

ProcessorBuilder & Game::ProcessorBuilder::Order ( int order)

Set the sorting order for the processor.

◆ RunInEditor()

ProcessorBuilder & Game::ProcessorBuilder::RunInEditor ( )

Processor should always run, even in editor; when the game is paused.

Member Data Documentation

◆ async

bool Game::ProcessorBuilder::async = false
private

◆ filterBuilder

FilterBuilder Game::ProcessorBuilder::filterBuilder
private

◆ func

std::function<void(World*, Dataset::View const&)> Game::ProcessorBuilder::func = nullptr
private

◆ funcModified

std::function<void(World*, Dataset::View const&)> Game::ProcessorBuilder::funcModified = nullptr
private

◆ name

Util::StringAtom Game::ProcessorBuilder::name
private

◆ onEvent

Util::StringAtom Game::ProcessorBuilder::onEvent
private

◆ onlyModified

bool Game::ProcessorBuilder::onlyModified = false
private

◆ order

int Game::ProcessorBuilder::order = 100
private

◆ world

World* Game::ProcessorBuilder::world
private

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