void JohanCity::BuildType(POINT from,POINT to,MenuType type) { switch(type) { case mtResidential: { BuildZone(from,to,ttResidential); break; } case mtCommercial: { BuildZone(from,to,ttCommercial); break; } case mtIndustrial: { BuildZone(from,to,ttIndustrial); break; } case mtRoad: { BuildRoad(from,to,ttRoad); break; } case mtBulldoze: { Bulldoze(from,to); break; } case mtPowerPlant: { AddBuilding(new Building(from.x,from.y,2,2,0,0,btPowerPlant)); break; } case mtPowerLine: { AddBuilding(new Building(from.x,from.y,1,1,0,0,btPowerLine)); break; } } UpdateBuffers(); }
int NFCTileModule::OnRecordEvent(const NFGUID& self, const RECORD_EVENT_DATA& xEventData, const NFData& oldVar, const NFData& newVar) { switch (xEventData.nOpType) { case RECORD_EVENT_DATA::Add: { NFGUID xBuildingID = m_pKernelModule->GetRecordObject(self, xEventData.strRecordName, xEventData.nRow, NFrame::Player::BuildingList::BuildingGUID); const std::string& strCnfID = m_pKernelModule->GetRecordString(self, xEventData.strRecordName, xEventData.nRow, NFrame::Player::BuildingList::BuildingCnfID); const NFVector3& vPos = m_pKernelModule->GetRecordVector3(self, xEventData.strRecordName, xEventData.nRow, NFrame::Player::BuildingList::Pos); AddBuilding(self, vPos.X(), vPos.Y(), xBuildingID, strCnfID); } break; case RECORD_EVENT_DATA::Del: { NFGUID xBuildingID = m_pKernelModule->GetRecordObject(self, xEventData.strRecordName, xEventData.nRow, NFrame::Player::BuildingList::BuildingGUID); //const std::string& strCnfID = m_pKernelModule->GetRecordString(self, xEventData.strRecordName, xEventData.nRow, NFrame::Player::BuildingList::BuildingCnfID); const NFVector3& vPos = m_pKernelModule->GetRecordVector3(self, xEventData.strRecordName, xEventData.nRow, NFrame::Player::BuildingList::Pos); RemoveBuilding(self, vPos.X(), vPos.Y(), xBuildingID); } break; default: break; } return 0; }
bool NFCTileModule::LoadTileData(const NFGUID & self, const int nSceneID) { mxTileData.RemoveElement(self); std::string strData; if (m_pPlayerRedisModule->LoadPlayerTile(nSceneID, self, strData)) { NFMsg::AckMiningTitle xData; if (xData.ParseFromString(strData)) { for (int i = 0; i < xData.tile_size(); ++i) { const NFMsg::TileState& xTile = xData.tile(i); AddTile(self, xTile.x(), xTile.y(), xTile.opr()); } for (int i = 0; i < xData.building_size(); ++i) { const NFMsg::TileBuilding& xTile = xData.building(i); AddBuilding(self, xTile.x(), xTile.y(), NFINetModule::PBToNF(xTile.guid()), xTile.configid()); } for (int i = 0; i < xData.npc_size(); ++i) { const NFMsg::TileNPC& xTile = xData.npc(i); AddNPC(self, xTile.x(), xTile.y(), NFINetModule::PBToNF(xTile.guid()), xTile.configid()); } return true; } } return false; }