예제 #1
0
EntityListWidgetItem *ECEditorWindow::AddEntity(entity_id_t entity_id, bool udpate_ui)
{
    EntityListWidgetItem *item = 0;
    PROFILE(ECEditorWindow_AddEntity);
    if (entityList)
    {
        entityList->blockSignals(true);
        //If entity don't have EC_Name then entity_name is same as it's id.
        QString entity_name = QString::number(entity_id);
        EntityPtr entity = framework->Scene()->MainCameraScene()->GetEntity(entity_id);
        if (entity && entity->GetComponent<EC_Name>())
            entity_name.append(" " + entity->Name());

        int row = AddUniqueListItem(entity, entityList, entity_name);
        item = dynamic_cast<EntityListWidgetItem *>(entityList->item(row));
        assert(item);

        entityList->blockSignals(false);
    }

    if (udpate_ui)
        RefreshPropertyBrowser();

    return item;
}
예제 #2
0
EntityListWidgetItem *ECEditorWindow::AddEntity(const EntityPtr &entity, bool updateUi)
{
    PROFILE(ECEditorWindow_AddEntity);

    EntityListWidgetItem *item = 0;
    entityList->blockSignals(true);

    QString text = QString("%1 %2").arg(entity->Id()).arg(entity->Name().isEmpty() ? "(no name)" : entity->Name());
    int row = AddUniqueListItem(entity, entityList, text);
    item = checked_static_cast<EntityListWidgetItem *>(entityList->item(row));

    entityList->blockSignals(false);

    if (updateUi)
        Refresh();

    return item;
}