Contents

SushiEngine::Simulation::IWorldEditor

request_instantiate

virtual EntityId request_instantiate(const std::string &name, EntityId parent=NULL_ENTITY)=0

Parameters

NameType
nameconst std::string &
parentEntityId

Returns

EntityId

The new entity's id, valid to reference immediately, not yet backed by a Record until the next flush.

Description

Queues a new entity for creation at this tick's flush point.

See also

engine/world/simulation/include/EDITOR.md

Example

void on_update(SushiEngine::Simulation::IWorldEditor& world,
               SushiEngine::Simulation::EntityId id,
               const SushiEngine::Simulation::TickContext& context) override
{
    if (marker_ == SushiEngine::Simulation::NULL_ENTITY)
        marker_ = world.request_instantiate("Marker", id);

    remaining_seconds_ -= context.delta_seconds;
    if (remaining_seconds_ <= SushiEngine::Scalar(0))
        world.request_destroy(id);
}