bool NFCTileModule::AddNPC(const NFGUID & self, const int nX, const int nY, const NFGUID & id, const std::string & strCnfID) { NF_SHARE_PTR<TileData> xTileData = mxTileData.GetElement(self); if (!xTileData) { xTileData = NF_SHARE_PTR<TileData>(NF_NEW TileData()); mxTileData.AddElement(self, xTileData); } NF_SHARE_PTR<NFMapEx<int, TileNPC>> xStateDataMap = xTileData->mxTileNPC.GetElement(nX); if (!xStateDataMap) { xStateDataMap = NF_SHARE_PTR<NFMapEx<int, TileNPC>>(NF_NEW NFMapEx<int, TileNPC>()); xTileData->mxTileNPC.AddElement(nX, xStateDataMap); } NF_SHARE_PTR<TileNPC> xTileNPC = xStateDataMap->GetElement(nY); if (!xTileNPC) { xTileNPC = NF_SHARE_PTR<TileNPC>(NF_NEW TileNPC()); xStateDataMap->AddElement(nY, xTileNPC); } xTileNPC->x = nX; xTileNPC->y = nY; xTileNPC->configID = strCnfID; xTileNPC->ID = id; return true; }
bool NFCTileModule::AddBuilding(const NFGUID & self, const int nX, const int nY, const NFGUID & id, const std::string & strCnfID) { NF_SHARE_PTR<TileData> xTileData = mxTileData.GetElement(self); if (!xTileData) { xTileData = NF_SHARE_PTR<TileData>(NF_NEW TileData()); mxTileData.AddElement(self, xTileData); } NF_SHARE_PTR<NFMapEx<int, TileBuilding>> xStateDataMap = xTileData->mxTileBuilding.GetElement(nX); if (!xStateDataMap) { xStateDataMap = NF_SHARE_PTR<NFMapEx<int, TileBuilding>>(NF_NEW NFMapEx<int, TileBuilding>()); xTileData->mxTileBuilding.AddElement(nX, xStateDataMap); } NF_SHARE_PTR<TileBuilding> xTileBuilding = xStateDataMap->GetElement(nY); if (!xTileBuilding) { xTileBuilding = NF_SHARE_PTR<TileBuilding>(NF_NEW TileBuilding()); xStateDataMap->AddElement(nY, xTileBuilding); } xTileBuilding->x = nX; xTileBuilding->y = nY; xTileBuilding->configID = strCnfID; xTileBuilding->ID = id; //save //SaveTileData(self); return true; }
void TileSet::create_tile(int p_id) { ERR_FAIL_COND(tile_map.has(p_id)); tile_map[p_id] = TileData(); _change_notify(""); emit_changed(); }
void FRCPassPostProcessVisualizeBuffer::AddVisualizationBuffer(FRenderingCompositeOutputRef InSource, const FString& InName) { Tiles.Add(TileData(InSource, InName)); if (InSource.IsValid()) { AddDependency(InSource); } }
TileData Layer::getTileData(int x, int y) { int id = getTileId(x,y); if (mMap != nullptr) { Tileset::Ptr tileset = mMap->getTileset(id); if (tileset != nullptr) { return tileset->getTile(id-1); } } return TileData(); }
bool NFCTileModule::AddTile(const NFGUID & self, const int nX, const int nY, const int nOpr) { NF_SHARE_PTR<TileData> xTileData = mxTileData.GetElement(self); if (!xTileData) { xTileData = NF_SHARE_PTR<TileData>(NF_NEW TileData()); mxTileData.AddElement(self, xTileData); } NF_SHARE_PTR<NFMapEx<int, TileState>> xStateDataMap = xTileData->mxTileState.GetElement(nX); if (!xStateDataMap) { xStateDataMap = NF_SHARE_PTR<NFMapEx<int, TileState>>(NF_NEW NFMapEx<int, TileState>()); xTileData->mxTileState.AddElement(nX, xStateDataMap); } NF_SHARE_PTR<TileState> xTileState = xStateDataMap->GetElement(nY); if (!xTileState) { xTileState = NF_SHARE_PTR<TileState>(NF_NEW TileState()); xStateDataMap->AddElement(nY, xTileState); } else { if (nOpr == xTileState->state) { //has be deleted return false; } } xTileState->x = nX; xTileState->y = nY; xTileState->state = nOpr; //save //SaveTileData(self); return true; }