Nebula
|
#include <frameevent.h>
A batch of frame callbacks.
Public Member Functions | |
Batch ()=default | |
~Batch () | |
void | Execute (World *world) |
bool | TryInsert (Processor *processor) |
Try to insert a processor into the batch. | |
void | Prefilter (World *world, bool force=false) |
prefilter all processors. Should not be done per frame - instead use CacheTable if you need to do incremental caching | |
void | CacheTable (MemDb::TableId, MemDb::TableSignature const &) |
add a table to the cache of any processors that accepts it, that is attached to this frame batch | |
Util::Array< Processor const * > | GetProcessors () const |
Public Attributes | |
int | order = 100 |
sorting order in frame event | |
bool | async = false |
Private Member Functions | |
void | ExecuteAsync (World *world) |
void | ExecuteSequential (World *world) |
Private Attributes | |
Util::Array< Processor * > | processors |
|
default |
Game::FrameEvent::Batch::~Batch | ( | ) |
void Game::FrameEvent::Batch::CacheTable | ( | MemDb::TableId | tid, |
MemDb::TableSignature const & | signature ) |
add a table to the cache of any processors that accepts it, that is attached to this frame batch
void Game::FrameEvent::Batch::Execute | ( | World * | world | ) |
|
private |
|
private |
Util::Array< Processor const * > Game::FrameEvent::Batch::GetProcessors | ( | ) | const |
void Game::FrameEvent::Batch::Prefilter | ( | World * | world, |
bool | force = false ) |
prefilter all processors. Should not be done per frame - instead use CacheTable if you need to do incremental caching
bool Game::FrameEvent::Batch::TryInsert | ( | Processor * | processor | ) |
Try to insert a processor into the batch.
Can reject the processor if the batch is executed async, and the processor is not allowed to run simultaneously as the other processor. In this case, use linear probing to insert the processor into a new batch
bool Game::FrameEvent::Batch::async = false |
int Game::FrameEvent::Batch::order = 100 |
sorting order in frame event
|
private |