void TileMapLayer2D::SetObjectGroup(const TmxObjectGroup2D* objectGroup) { objectGroup_ = objectGroup; TmxFile2D* tmxFile = objectGroup->GetTmxFile(); nodes_.Resize(objectGroup->GetNumObjects()); for (unsigned i = 0; i < objectGroup->GetNumObjects(); ++i) { const TileMapObject2D* object = objectGroup->GetObject(i); // Create dummy node for all object SharedPtr<Node> objectNode(GetNode()->CreateTemporaryChild("Object")); objectNode->SetPosition(object->GetPosition()); // If object is tile, create static sprite component if (object->GetObjectType() == OT_TILE && object->GetTileGid() && object->GetTileSprite()) { StaticSprite2D* staticSprite = objectNode->CreateComponent<StaticSprite2D>(); staticSprite->SetSprite(object->GetTileSprite()); staticSprite->SetLayer(drawOrder_); staticSprite->SetOrderInLayer((int)((10.0f - object->GetPosition().y_) * 100)); if (tmxFile->GetInfo().orientation_ == O_ISOMETRIC) { staticSprite->SetUseHotSpot(true); staticSprite->SetHotSpot(Vector2(0.5f, 0.0f)); } } nodes_[i] = objectNode; } }
void PropertyEditorContextObject::toogleExportAlias() { if (!m_model || !m_model->rewriterView()) return; /* Ideally we should not missuse the rewriterView * If we add more code here we have to forward the property editor view */ RewriterView *rewriterView = m_model->rewriterView(); if (rewriterView->selectedModelNodes().isEmpty()) return; const ModelNode selectedNode = rewriterView->selectedModelNodes().constFirst(); if (QmlObjectNode::isValidQmlObjectNode(selectedNode)) { QmlObjectNode objectNode(selectedNode); PropertyName modelNodeId = selectedNode.id().toUtf8(); ModelNode rootModelNode = rewriterView->rootModelNode(); try { RewriterTransaction transaction = rewriterView->beginRewriterTransaction(QByteArrayLiteral("PropertyEditorContextObject:toogleExportAlias")); if (!objectNode.isAliasExported()) objectNode.ensureAliasExport(); else if (rootModelNode.hasProperty(modelNodeId)) rootModelNode.removeProperty(modelNodeId); transaction.commit(); } catch (RewritingException &exception) { //better safe than sorry! There always might be cases where we fail exception.showException(); } } }