bool EntityCreatorTypeHelper::createButton_Click(const CEGUI::EventArgs& args) { if (mRuleTreeAdapter) { auto typeData = mRuleTreeAdapter->getSelectedRule(); if (typeData.isValid()) { try { std::string name; if (!mName.getText().empty()) { name = mName.getText().c_str(); } auto typeInfo = mConnection.getTypeService()->getTypeByName(typeData->getId()); if (typeInfo) { Atlas::Message::MapType definition{{"parent", typeInfo->getName()}}; if (!name.empty()) { definition["name"] = name; } if (!mModeCombobox.getText().empty()) { definition["mode"] = mModeCombobox.getText().c_str(); } if (!mPlantedOnWindow.getText().empty()) { definition["planted_on"] = mPlantedOnWindow.getText().c_str(); } EventCreateFromType(definition); } } catch (const std::exception& ex) { S_LOG_WARNING("Error when trying to create entity from type." << ex); } } } return true; }
bool EntityCreatorTypeHelper::createButton_Click(const CEGUI::EventArgs& args) { if (mRuleTreeAdapter) { auto typeData = mRuleTreeAdapter->getSelectedRule(); if (typeData.isValid()) { try { std::string name; if (!mName.getText().empty()) { name = mName.getText().c_str(); } //TODO: this has been refactored; perhaps we should also change the signal to not use a TypeInfo... auto typeInfo = mConnection.getTypeService()->getTypeByName(typeData->getId()); if (typeInfo) { EventCreateFromType(name, *typeInfo); } } catch (const std::exception& ex) { S_LOG_WARNING("Error when trying to create entity from type." << ex); } } } return true; }