Example #1
0
void WallTarget::AddPositionLoader( glm::vec2& position, Opt<SpawnActorMapElement> spawnActor )
{
    int32_t componentId = AutoId( "position_component" );
    ComponentLoaderFactory& componentLoaderFactory = ComponentLoaderFactory::Get();
    std::auto_ptr<PropertyLoaderBase<Component> > compLoader = componentLoaderFactory( componentId );
    Opt<PositionComponentLoader> positionCompLoader( static_cast<PositionComponentLoader*>( compLoader.get() ) );
    positionCompLoader->Bind<double>( &PositionComponent::SetX, position.x );
    positionCompLoader->Bind<double>( &PositionComponent::SetY, position.y );
    spawnActor->AddComponentLoader( componentId, compLoader );
}
Example #2
0
void WallTarget::AddBorderLoader( IBorderComponent::Borders_t& borders, IBorderComponent::Borders_t& outerBorders, Opt<SpawnActorMapElement> spawnActor )
{
    {
        int32_t componentId = AutoId( "border_component" );
        ComponentLoaderFactory& componentLoaderFactory = ComponentLoaderFactory::Get();
        std::auto_ptr<PropertyLoaderBase<Component> > compLoader = componentLoaderFactory( componentId );
        Opt<BorderComponentLoader> borderCompLoader( static_cast<BorderComponentLoader*>( compLoader.get() ) );
        borderCompLoader->Bind<IBorderComponent::Borders_t>( &BorderComponent::SetBorders, borders );
        borderCompLoader->Bind<IBorderComponent::Borders_t>( &BorderComponent::SetOuterBorders, outerBorders );
        spawnActor->AddComponentLoader( componentId, compLoader );
    }
}