bool LockBarriers::Editor_MouseUp(const IPoint &mouse_pos, Game::Square *sq) { if(_selected) { // закончили переаскивание, инициализируем клетки в новой позиции замка _selected->InitCell(); _selected = NULL; CheckRepeat(); return true; } CheckRepeat(); return false; }
//--------------------------------------------------------------------------- // //--------------------------------------------------------------------------- void __fastcall ASEditSvr::Save() { //BLISINTRAN(DBConnection); PCPtr<PCCommand> lCommand; bool lCreateCommand = false; if(!fCommand){ lCreateCommand = true; if(fAction.Trim().IsEmpty()) throw Exception("{必须指定活动代码}"+ERI); lCommand = new PCCommand(ERI,fAction,"SaveEditDS"); fCommand = lCommand.Ptr(); } try { //BLBEGINTRAN(DBConnection); BeforeInstCommand(); fDataSets->ObjByIndex[0]->DataSetSvr->DataSet->DataSet->First(); if(!CanUpdateRecords() )throw Exception("记录不符合修改条件"); FillAutoValue(); CheckRepeat(); FillEditValue(); String lsID = fDataSets->ObjByIndex[0]->DataSetSvr->DataSet->IDs; //根据需要把附件保存 for(int j=0;j<fDataSets->Count;j++){ for(int i=0;i<fDataSets->ObjByIndex[j]->fAttachs->Count;i++){ ASEditDataSetAttachment *lObj = fDataSets->ObjByIndex[j]->fAttachs->ObjByIndex[i]; lObj->saveToFile(); } } Update(); _di_IXMLNode lParentNode = Def->SubDefNode["DATASETS.EDITDS.POSTSAVE.ACTIONS"]; if(lParentNode) ExePostAction(lParentNode); lParentNode = Def->SubDefNode["DATASETS.EDITDS.POSTSAVE.POSTCONS"]; if(lParentNode) CheckPostCondition(lParentNode); AfterSaveAdapter(); AfterInstCommandSuc(); Retrieve(lsID); for(int i=0;i<fDataSets->Count;i++){ fDataSets->ObjByIndex[i]->afterSave(); } //BLCOMMITTRAN(DBConnection); if(BLSAMESTR(Enterprise->wfManager->defERI,ERI)){ DBConnection->CommitTrans(); DBConnection->BeginTrans(); Enterprise->wfManager->loadWorkflows(lsID); } } catch(...) { //BLROLLBACKTRAN(DBConnection); throw; } if(lCreateCommand){ fCommand = NULL; } }
void LockBarriers::SaveLevel(Xml::TiXmlElement *root) { if(_barriers.empty()) { return; } CheckRepeat(); Xml::TiXmlElement *barriers = root->InsertEndChild(Xml::TiXmlElement("LockBarriers"))->ToElement(); for(size_t i = 0; i < _barriers.size(); ++i) { Xml::TiXmlElement *barrier = barriers->InsertEndChild(Xml::TiXmlElement("Barrier"))->ToElement(); _barriers[i]->Save(barrier); } }